始める無料で始める

無効な行を確認する

結合を使って行のフィルタリングには成功しましたが、無効なデータを確認したい場合もあります。こうしたデータは、後で処理したり、データソースのトラブルシューティングに活用できます。

2 つの DataFrame の差分を見つけて、無効な行を保存したいとします。

spark オブジェクトは定義済みで、pyspark.sql.functionsF としてインポートされています。元の DataFrame split_df と、結合後の 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)
コードを編集して実行