開始使用免費開始

使用視窗函式 SQL 計算執行中總和

視窗函式類似彙總函式,但它會為資料集中的每一列輸出結果,而不是每個群組只輸出一列。

你可以把彙總和視窗函式一起使用。用視窗函式計算執行中的總和,比用連接來達成更簡單,查詢時間通常也更快。

已為你提供名為 schedule 的資料表,包含 train_idstationtimediff_min 欄位。diff_min 欄位表示此路線上目前車站到下一個車站之間經過的時間。

本練習屬於課程

Python Spark SQL 入門

檢視課程

練習說明

  • 執行一個查詢,為這個資料集中的每筆紀錄新增名為 running_total 的欄位。running_total 欄位使用 SUM()diff_min 欄位所給的站間時間差進行加總(執行中總和)。
  • 執行查詢並顯示結果。

動手互動練習

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

# Add col running_total that sums diff_min col in each group
query = """
SELECT train_id, station, time, diff_min,
____(____) OVER (PARTITION BY ____ ORDER BY ____) AS running_total
FROM schedule
"""

# Run the query and display the result
spark.____(query).show()
編輯並執行程式碼