開始使用免費開始

彙總運算

常見的彙總方法,例如 .min().max().count(),都是 GroupedData 的方法。這些方法是透過呼叫 DataFrame 的 .groupBy() 產生的物件來使用。接下來幾個練習你會更清楚其意義。現在,你只需要在 DataFrame 上呼叫該方法就能使用這些函式。例如,若要找出 DataFrame df 中欄位 col 的最小值,可以這麼做:

df.groupBy().min("col").show()

這會建立一個 GroupedData 物件(因此你可以使用 .min() 方法),接著在 col 中找出最小值,並以 DataFrame 形式回傳。

現在就來試著自己做一些彙總吧!

工作區中已經有名為 sparkSparkSession,以及 Spark DataFrame flights

本練習屬於課程

PySpark 基礎

檢視課程

練習說明

  • 先用 .filter() 篩出從 PDX 起飛的航班,再用 .min() 找出最短(以距離計)航班的距離。請直接參照欄位來篩選,不要傳入 SQL 字串。
  • filter() 篩出從 SEA 起飛的航班,再用 .max() 找出最長(以時間計)航班的時間。請直接參照欄位來篩選,不要傳入 SQL 字串。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Find the shortest flight from PDX in terms of distance
flights.filter(____.____ == ____).groupBy().____(____).show()

# Find the longest flight from SEA in terms of air time
flights.filter(____).groupBy().____.show()
編輯並執行程式碼