Spark SQL 基础:DataFrame 与 DataSet
知识点:
Spark SQL 与 Spark Core 的关系:基于 RDD 的高层 API
DataFrame:带 Schema 的分布式数据集,类似关系型数据库表
DataSet:强类型的 DataFrame,仅支持 Scala/Java,Python 不支持
练习:
创建 DataFrame 的三种方式:
1. 从RDD创建
rdd = spark.sparkContext.parallelize([(1, "张三", 20), (2, "李四", 21)])
df1 = spark.createDataFrame(rdd, schema=["id", "name", "age"])
2. 从Pandas DataFrame创建
import pandas as pd
pd_df = pd.DataFrame({"id": [1, 2], "name": ["张三", "李四"], "age": [20, 21]})
df2 = spark.createDataFrame(pd_df)
3. 从文件创建(JSON/CSV/Parquet)
df3 = spark.read.json("user.json")
查看 DataFrame 的 Schema 和数据:df1.printSchema()、df1.show()
易错:
Python 中仅能使用 DataFrame,DataSet 是 Scala 的专属特性
DataFrame 的底层仍是 RDD,Schema 相当于 RDD 的元数据描述

浙公网安备 33010602011771号