pyspark 执行group by操作 - 原始数据非hive

前情提要

pyspark执行group by操作中,数据源是hive,而有时候我们的数据源可能是集群上的某个文件,这时候可以pyspark中使用DataFrame API来根据自动字段执行group by操作,这里还是以sum为例。

基础步骤

  1. 创建SparkSession:首先创建一个SparkSession,这是使用PySpark的入口。
  2. 示例数据:定义一些示例数据,并创建一个DataFrame。
  3. 自动字段列表:定义一个包含需要执行sum操作的字段的列表。
  4. 执行sum操作:使用DataFrame的select方法和sum函数对指定字段执行sum操作。通过列表推导式生成sum表达式列表,并使用alias方法为每个sum结果指定别名。
  5. 显示结果:使用show方法显示结果DataFrame。
  6. 停止SparkSession:最后停止SparkSession

代码示例

python 复制代码
from pyspark.sql import SparkSession
from pyspark.sql.functions import col, sum
# 创建SparkSession
spark = SparkSession.builder \
    .appName("SumOperationExample") \
    .getOrCreate()
# 示例数据
data = [
    ("Alice", 10, 20, 30),
    ("Bob", 40, 50, 60),
    ("Cathy", 70, 80, 90)
]
# 创建DataFrame
columns = ["Name", "Field1", "Field2", "Field3"]
df = spark.createDataFrame(data, columns)
# 自动字段列表
fields_to_sum = ["Field1", "Field2", "Field3"]
# 执行sum操作
sum_exprs = [sum(col(field)).alias(f"sum_{field}") for field in fields_to_sum]
result_df = df.select(sum_exprs)
# 显示结果
result_df.show()
# 停止SparkSession
spark.stop()
相关推荐
lightningyang1 小时前
Hadoop 分布式集群配置(OpenEuler 1主2)
hadoop·openeuler·天枢一体化虚拟仿真靶场平台
是阿威啊3 小时前
【第六站】测试本地项目连接虚拟机上的大数据集群
大数据·linux·hive·hadoop·spark·yarn
老徐电商数据笔记3 小时前
技术复盘第八篇:从“数据烟囱”到“能力引擎”:中型电商数仓重构实战手册
大数据·数据仓库·重构·数据中台·用户画像·技术面试
青木川崎4 小时前
hive实战
数据仓库·hive·hadoop
是阿威啊4 小时前
【第五站】集群组件一键启动/关闭脚本(Hadoop/YARN + Hive + Spark)
linux·运维·hive·hadoop·spark
青木川崎4 小时前
大数据技术之hive
大数据·hive·hadoop
搬砖快乐~5 小时前
面经:大数据开发岗-初面 面试题(40分钟)
大数据·hadoop·spark·kafka·面试题·面经
是阿威啊5 小时前
【第三站】本地虚拟机部署hive集群
linux·数据仓库·hive·hadoop·分布式
和光同尘20235 小时前
一文讲透CentOS下安装部署使用MYSQL
linux·运维·数据库·数据仓库·mysql·centos·database
qq_2704900965 小时前
基于Hadoop的教育大数据可视化系统的设计与实现
大数据·hadoop·信息可视化