本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
「刪除重複項」轉換會為您提供兩個選項,以從資料來源中移除資料列。您可以選擇移除完全相同的重複資料列,也可以選擇要比對的欄位,并根据所選欄位僅移除這些資料列。
例如,在此資料集中,您有重複的資料列,其中某些資料列中的所有值與另一資料列完全相同,而資料列中的某些值則相同或不同。
Row | Name | Age | State | 注意 | |
---|---|---|---|---|---|
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 資料列。資料集現在為:
Row | Name | Age | State | |
---|---|---|---|---|
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 |
如果您選擇指定索引鍵,則可以選擇移除與 ‘name’ 和 ‘email’ 相符的資料列。這讓您可以更好地控制資料集的「重複資料列」。透過指定 ‘name’ 和 ‘email’,資料集現在為:
Row | Name | Age | State | |
---|---|---|---|---|
1 | Joy | joy@gmail | 33 | NY |
2 | Tim | tim@gmail | 45 | OH |
3 | Rose | rose@gmail | 23 | NJ |
需要謹記的一些事項:
-
為了將資料列識別為重複項,值需區分大小寫。資料列中的所有值都需具有相同的大小寫,這適用於您選擇的任一選項 (符合整個資料列或指定索引鍵)。
-
所有值都會以字串形式讀入。
-
刪除重複項轉換使用 Spark dropDuplicates 命令。
-
使用刪除重複項轉換時,會保留第一個資料列,並刪除其他資料列。
-
刪除重複項轉換不會變更資料框的結構描述。如果您選擇指定索引鍵,則所有欄位都保留在產生的資料框中。