pyspark执行group by操作

前情提要

在处理亿级别数据时,常常输入是hive表,因此需要在pypark流程中引入一些场景sql操作,其中group by就是比较常见的操作。

基础步骤

  1. 创建SparkSession:通过enableHiveSupport()方法启用Hive支持,确保能够访问Hive表。
  2. 加载数据:使用spark.sql()方法从Hive表中加载数据到DataFrame。
  3. 分组聚合操作:使用groupBy方法按field1和field2进行分组,并使用agg方法结合sum函数对field3进行求和操作。alias方法用于为聚合结果指定别名。
  4. 显示结果:使用show方法显示聚合结果。
  5. 停止SparkSession:最后停止SparkSession以释放资源。通常该步骤不需要,但是在例行化任务中,会偶发任务已执行完成,但是仍然占用资源情况,所以该步骤最好加上

代码展示

python 复制代码
from pyspark.sql import SparkSession
from pyspark.sql.functions import sum

# 创建SparkSession并启用Hive支持
spark = SparkSession.builder \
    .appName("GroupByExample") \
    .enableHiveSupport() \
    .getOrCreate()

# 假设已在Hive中创建了一个名为your_table_name的表
# 该表有字段: field1, field2, field3

# 从Hive表中加载数据
df = spark.sql("SELECT * FROM your_table_name")

# 使用groupBy和sum函数进行分组聚合操作
result_df = df.groupBy("field1", "field2").agg(sum("field3").alias("sum_field3"))

# 显示结果
result_df.show()

# 停止SparkSession
spark.stop()
相关推荐
while(努力):进步1 天前
探索未来的技术变革:如何通过云计算与人工智能重塑数字化世界
zookeeper·spark
源码之家2 天前
机器学习:基于大数据二手房房价预测与分析系统 可视化 线性回归预测算法 Django框架 链家网站 二手房 计算机毕业设计✅
大数据·算法·机器学习·数据分析·spark·线性回归·推荐算法
Lansonli3 天前
大数据Spark(七十三):Transformation转换算子glom和foldByKey使用案例
大数据·分布式·spark
keep__go4 天前
spark 单机安装
大数据·运维·分布式·spark
蒙特卡洛的随机游走4 天前
Spark的persist和cache
大数据·分布式·spark
蒙特卡洛的随机游走4 天前
Spark 中 distribute by、sort by、cluster by 深度解析
大数据·分布式·spark
梦里不知身是客114 天前
Spark中的宽窄依赖-宽窄巷子
大数据·分布式·spark
闲人编程4 天前
Python与大数据:使用PySpark处理海量数据
大数据·开发语言·分布式·python·spark·codecapsule·大规模
青云交5 天前
Java 大视界 -- 基于 Java 的大数据实时数据处理在工业互联网设备协同制造中的应用与挑战
flink·spark·工业互联网·预测性维护·实时数据处理·java 大数据·设备协同制造
周杰伦_Jay5 天前
【日志处理方案大比拼】 Filebeat+Kafka+Flink+Spark+ES+HDFS VS ELK/AOP/RocketMQ/大厂方案
flink·spark·kafka