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)