開始使用免費開始

加入 ID 欄位

在處理資料時,你有時只想取用特定欄位並進行各種操作。 在這個情境中,從 DataFrame 找出所有「唯一」的選民姓名,並加入唯一的 ID 編號。 請記住,Spark 的 ID 是根據 DataFrame 的「分割區(partition)」指派的,因此 ID 數值可能遠大於 DataFrame 的實際列數。

由於 Spark 採用「延遲(lazy)」處理,ID 其實要等到執行 action 時才會產生,而且依資料集大小不同,結果看起來可能有些隨機。

工作區中已提供 spark 工作階段與包含 DallasCouncilVotes.csv.gz 檔案的 Spark DataFrame dfpyspark.sql.functions 函式庫已以別名 F 匯入可用。

本練習屬於課程

使用 PySpark 清理資料

檢視課程

練習說明

  • VOTER NAME 欄位選出唯一項目,並建立名為 voter_df 的新 DataFrame。
  • 計算 voter_df DataFrame 的列數。
  • 使用合適的 Spark 函式新增一個 ROW_ID 欄位。
  • 顯示 ROW_ID 數值最高的前 10 列。

動手互動練習

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

# Select all the unique council voters
voter_df = df.____(df["VOTER NAME"]).____()

# Count the rows in voter_df
print("\nThere are %d rows in the voter_df DataFrame.\n" % ____)

# Add a ROW_ID
voter_df = voter_df.____('ROW_ID', F.____())

# Show the rows with 10 highest IDs in the set
voter_df.orderBy(voter_df.____.desc()).show(____)
編輯並執行程式碼