開始使用免費開始

更多 ID 小技巧

當你定義好一個 Spark 處理流程後,通常會重複使用很多次。視需求不同,你可能會希望從特定數值開始產生 ID,避免和先前執行的 Spark 工作互相重疊。這個行為和關聯式資料庫中的 ID 運作方式類似。你被指派的任務是:確保每月 Spark 工作輸出的 ID,會從上個月的最大值之後開始。

工作空間已提供 spark 工作階段,以及兩個 DataFrame:voter_df_marchvoter_df_aprilpyspark.sql.functions 函式庫已使用別名 F 匯入。

本練習屬於課程

使用 PySpark 清理資料

檢視課程

練習說明

  • 找出 voter_df_march 中最大的 ROW_ID,並將其儲存到變數 previous_max_ID。可使用 .rdd.max()[0] 取得最大 ID。
  • voter_df_april 中新增 ROW_ID 欄位,起始值為 previous_max_ID + 1。
  • 顯示兩個 DataFrame 的 ROW_ID,並加以比較。

動手互動練習

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

# Determine the highest ROW_ID and save it in previous_max_ID
____ = ____.select('ROW_ID').rdd.max()[0] + 1

# Add a ROW_ID column to voter_df_april starting at the desired value
voter_df_april = ____.withColumn('ROW_ID', ____ + ____)

# Show the ROW_ID from both DataFrames and compare
____.select('ROW_ID').show()
____
編輯並執行程式碼