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()
相关推荐
武子康2 天前
大数据-270 Spark MLib-机器学习库快速入门(分类/回归/聚类/推荐)
大数据·后端·spark
DolphinScheduler社区2 天前
第 8 篇|Apache DolphinScheduler 与 Flink Spark 数据引擎的边界、协同与最佳实践
大数据·flink·spark·开源·apache·海豚调度·大数据工作流调度
黄焖鸡能干四碗2 天前
企业元数据梳理和元数据管理方案(PPT方案)
大数据·运维·网络·分布式·spark
木心术12 天前
大数据处理技术:Hadoop与Spark核心原理解析
大数据·hadoop·分布式·spark
talen_hx2962 天前
《零基础入门Spark》学习笔记 Day 16
笔记·学习·spark
我要用代码向我喜欢的女孩表白3 天前
在spark集群上在部署一套spark环境,不要影响过去环境
大数据·分布式·spark
新缸中之脑4 天前
Meta新模型Muse Spark上手体验
大数据·分布式·spark
Thomas21434 天前
pyspark 新接口 DataSource V2 写法 写入paimon为例
大数据·分布式·spark
howard20054 天前
2.2.3.1 搭建Spark集群
spark·standalone集群
isNotNullX5 天前
数据仓库是什么?怎么搭建数据仓库?
大数据·分布式·spark