SQL 与 Parquet
在 Spark 中,Parquet 文件非常适合作为 SQL 查询的底层数据存储。虽然也可以直接通过 Spark 的 Python 函数运行相同的查询,但有时把 SQL 查询和 Python 方式结合使用会更方便。
在本例中,您将读取上一个练习中创建的 Parquet 文件,并将其注册为一张 SQL 表。注册完成后,我们会对该表(也就是这个 Parquet 文件)运行一个简单查询。
spark 对象和 AA_DFW_ALL.parquet 文件已为您自动准备好。
本练习是课程的一部分
使用 PySpark 进行数据清洗
练习说明
- 将
AA_DFW_ALL.parquet文件读入为flights_df。 - 使用
createOrReplaceTempView方法将其命名为flights表的临时视图。 - 针对
flights表运行一条 Spark SQL 查询。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Read the Parquet file into flights_df
flights_df = spark.read.____(____)
# Register the temp table
flights_df.____('flights')
# Run a SQL query of the average flight duration
avg_duration = spark.____('SELECT avg(flight_duration) from flights').collect()[0]
print('The average flight time is: %d' % avg_duration)