type
status
date
slug
summary
tags
category
icon
password
示例代码可以在 Spark 仓库中的 "examples/src/main/python/sql/basic.py”
1. 基础DataFrame操作 (basic_df_example
)
- 创建DataFrame:从JSON文件读取数据
python
输出:
text
- 无类型操作:
- 打印Schema:
df.printSchema()
- 列选择:
df.select("name").show()
- 表达式计算:
df.select(df['name'], df['age'] + 1).show()
- 数据过滤:
df.filter(df['age'] > 21).show()
- 分组聚合:
df.groupBy("age").count().show()
- SQL查询:
python
- 全局临时视图:
python
2. 反射式Schema推断 (schema_inference_example
)
- 将文本数据转换为Row对象RDD:
python
- 自动推断Schema创建DataFrame:
python
- 执行SQL查询:
python
3. 编程指定Schema (programmatic_schema_example
)
- 手动定义Schema结构:
python
- 应用Schema到RDD:
python
运行方式
bash
关键点说明
- 数据源支持:JSON/文本文件 → DataFrame
- 两种Schema定义:
- 反射推断(自动)
- 编程指定(手动控制)
- 统一访问接口:
- DataFrame API(
select()
,filter()
,groupBy()
) - SQL查询(
spark.sql()
)
- 临时视图:
- 会话级临时视图 (
createOrReplaceTempView
) - 全局临时视图 (
createGlobalTempView
)
注意:实际运行时需确保:
- Spark环境配置正确
- 示例数据文件存在于
examples/src/main/resources/
目录
- Python环境已安装PySpark
- Author:NotionNext
- URL:http://preview.tangly1024.com/article/252681d1-cc13-8097-8e18-c5a5ebff44f0
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!