python操作sparksql
时间: 2025-02-14 08:07:10 浏览: 22
使用 Python 进行 Spark SQL 操作
创建 SparkSession 实例
为了能够执行 Spark SQL 查询,在 Python 中首先要创建 SparkSession
的实例。这是与 Spark 集群交互的主要入口。
from pyspark.sql import SparkSession
spark = SparkSession.builder \
.appName("Python Spark SQL Example") \
.config("spark.some.config.option", "some-value") \
.getOrCreate()
加载数据到 DataFrame
可以利用多种方式加载数据源至 DataFrame,比如读取 JSON 文件、CSV 文件或是连接数据库等。
df = spark.read.json("examples/src/main/resources/people.json")
# 显示表头前20条记录
df.show()
注册临时视图并执行 SQL 查询
一旦有了 DataFrame 就能注册成一张临时表格来通过标准的 SQL 语句对其进行查询操作。
df.createOrReplaceTempView("people")
results = spark.sql("SELECT name FROM people WHERE age >= 18 AND age <= 25").collect()
for row in results:
print(row['name'])
应用函数处理 SQL 查询的结果
对于来自 SQL 查询得到的结果集还可以进一步应用各种转换和动作方法来进行更复杂的计算或分析工作。
import pyspark.sql.functions as F
names_df = df.select(F.col('name').alias('full_name')).distinct().orderBy('full_name')
names_df.show()
数据类型映射
值得注意的是当使用 Python 编写程序时,尽管语法上看起来像是 Python 原生的数据类型,但实际上这些数值在 JVM 上面会被当作 Java 对应类型的对象对待[^4]。
相关推荐


















