透過 join 驗證列
另一種過濾資料的方式是用 join 來移除無效的項目。你需要根據名為 valid_folders_df 的 DataFrame,確認資料夾名稱是否符合預期。DataFrame split_df 與你先前留下的一樣,包含一組拆分後的欄位。
spark 物件可用,且已將 pyspark.sql.functions 以 F 匯入。
本練習屬於課程
使用 PySpark 清理資料
練習說明
- 將
valid_folders_dfDataFrame 中的_c0欄位重新命名為folder。 - 計算
split_df的列數。 - 依資料夾名稱將兩個 DataFrame 進行 join,並將結果命名為
joined_df。務必對較小的 DataFrame 使用廣播(broadcast)。 - 檢查結果 DataFrame 剩餘的列數並加以比較。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Rename the column in valid_folders_df
valid_folders_df = ____
# Count the number of rows in split_df
split_count = ____
# Join the DataFrames
joined_df = split_df.____(____(valid_folders_df), "folder")
# Compare the number of rows remaining
joined_count = ____
print("Before: %d\nAfter: %d" % (split_count, joined_count))