第 2 部分:在 DataFrame 上執行 SQL 查詢
我們建立的 fifa_df DataFrame,附帶欄位名稱與資料型別等額外資訊。這些資訊讓 PySpark SQL 可以在 DataFrame 上執行 SQL 查詢。相較於 DataFrame 操作,SQL 查詢更精簡、也更容易執行。不過,要在 DataFrame 上使用 SQL 查詢,首先需要把 DataFrame 建立成一個作為資料表使用的暫存檢視,接著再對該資料表套用 SQL 查詢(以程式方式執行 SQL 查詢)。
在本部分中,你會從 fifa_df DataFrame 建立一個暫存資料表,並執行 SQL 查詢,擷取來自 Germany 球員的「Age」欄位。
工作區中已提供 SparkContext spark 與 fifa_df。
本練習屬於課程
使用 PySpark 的 Big Data 基礎
練習說明
- 由
fifa_dfDataFrame 建立暫存資料表fifa_df_table。 - 撰寫「查詢」以從
fifa_df_table中擷取 Germany 球員的 「Age」 欄位。 - 套用該 SQL「查詢」,並建立新的 DataFrame
fifa_df_germany_age。 - 計算所建立 DataFrame 的基本統計量。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Create a temporary view of fifa_df
fifa_df.____('fifa_df_table')
# Construct the "query"
query = '''SELECT ____ FROM ____ WHERE Nationality == "Germany"'''
# Apply the SQL "query"
fifa_df_germany_age = spark.____(____)
# Generate basic statistics
fifa_df_germany_age.____().show()