檢視無效列
你已經用 join 成功過濾掉那些列,但有時你會想要檢視哪些資料是無效的。這些資料可以先存起來,之後再處理,或用來釐清資料來源的問題。
你想要找出兩個 DataFrame 之間的差異,並把無效列存起來。
spark 物件已定義,且已將 pyspark.sql.functions 以 F 匯入。原始的 DataFrame split_df 與已 join 的 DataFrame joined_df 皆可使用,狀態與前一步相同。
本練習屬於課程
使用 PySpark 清理資料
練習說明
- 取得各個 DataFrame 的列數。
- 建立只包含無效列的 DataFrame。
- 驗證新 DataFrame 的列數是否如預期。
- 計算被移除的相異資料夾列數。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Determine the row counts for each DataFrame
split_count = ____
joined_count = ____
# Create a DataFrame containing the invalid rows
invalid_df = split_df.____(____(joined_df), '____', '____')
# Validate the count of the new DataFrame is as expected
invalid_count = ____
print(" split_df:\t%d\n joined_df:\t%d\n invalid_df: \t%d" % (split_count, joined_count, invalid_count))
# Determine the number of distinct folder rows removed
invalid_folder_count = invalid_df.____('____').____.____
print("%d distinct invalid folders found" % invalid_folder_count)