Drop Duplicates 変換では、2 つのオプションによってデータソースから行を削除します。完全に一致した重複する行を削除するか、照合するフィールドを選択して、選択したフィールドに基づいて重複する行のみを削除するかのどちらかを選択できます。
例えば、次のデータセットには重複する行があり、行内の一部の値が一致していたり異なっていたりします。また、いくつかの行は、別の行とすべての値が完全に一致しています。
行 | 名前 | Email(メール) | 年齢 | 都道府県 | 注記 |
---|---|---|---|---|---|
1 | Joy | joy@gmail | 33 | NY | |
2 | Tim | tim@gmail | 45 | OH | |
3 | Rose | rose@gmail | 23 | NJ | |
4 | Tim | tim@gmail | 42 | OH | |
5 | Rose | rose@gmail | 23 | NJ | |
6 | Tim | tim@gmail | 42 | OH | これは重複した行であり、行 4 とすべての値が完全に一致しています |
7 | Rose | rose@gmail | 23 | NJ | これは重複した行であり、行 5 とすべての値が完全に一致しています |
行全体で照合することを選択した場合、行 6 と 7 はデータセットから削除されます。データセットは次のようになります。
行 | 名前 | Email(メール) | 年齢 | 都道府県 |
---|---|---|---|---|
1 | Joy | joy@gmail | 33 | NY |
2 | Tim | tim@gmail | 45 | OH |
3 | Rose | rose@gmail | 23 | NJ |
4 | Tim | tim@gmail | 42 | OH |
5 | Rose | rose@gmail | 23 | NJ |
キーを指定することを選択した場合、「名前」と「Email (メール)」が一致する行を削除するように選択できます。これにより、データセットの「重複する行」をより細かく制御できます。「名前」と「Email (メール)」を指定すると、データセットは次のようになります。
行 | 名前 | Email(メール) | 年齢 | 都道府県 |
---|---|---|---|---|
1 | Joy | joy@gmail | 33 | NY |
2 | Tim | tim@gmail | 45 | OH |
3 | Rose | rose@gmail | 23 | NJ |
留意すべき点
-
行の重複を認識するため、値では大文字と小文字が区別されます。行のすべての値は、大文字と小文字も一致する必要があります。これは、選択したオプション (行全体での一致/指定キーでの一致) のどちらにも当てはまります。
-
すべての値は文字列として読み込まれます。
-
Drop Duplicates 変換は、Spark の dropDuplicates コマンドを使用します。
-
Drop Duplicates 変換を使用すると、最初の行は保持され、他の行は削除されます。
-
Drop Duplicates 変換は、データフレームのスキーマを変更しません。キーの指定を選択した場合、生成されたデータフレームにはすべてのフィールドが保持されます。