중복 삭제 변환은 두 가지 옵션을 제공하여 데이터 소스에서 행을 제거합니다. 완전히 동일한 중복 행을 제거하거나 일치시킬 필드를 선택하고 선택한 필드를 기반으로 해당 행만 제거하도록 선택할 수 있습니다.
예를 들어 이 데이터 세트에는 일부 행에서는 모든 값이 다른 행과 완전히 동일하고, 또 다른 행에서는 값이 같거나 다른 중복 행이 있습니다.
열 | 명칭 | 이메일 | 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번째 행이 데이터 세트에서 제거됩니다. 이제 데이터 세트는 다음과 같습니다.
열 | 명칭 | 이메일 | 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'을 지정하면 이제 데이터 세트는 다음과 같습니다.
열 | 명칭 | 이메일 | Age | State |
---|---|---|---|---|
1 | Joy | joy@gmail | 33 | NY |
2 | Tim | tim@gmail | 45 | OH |
3 | Rose | rose@gmail | 23 | NJ |
다음 사항에 유의하세요.
-
중복 행으로 인식하기 위해 값은 대소문자를 구분합니다. 행의 모든 값은 동일한 대소문자를 사용해야 합니다. 이는 선택한 옵션(전체 행 일치 또는 키 지정)에 적용됩니다.
-
모든 값은 문자열로 읽습니다.
-
중복 삭제 변환은 Spark dropDuplicates 명령을 활용합니다.
-
중복 삭제 변환을 사용하는 경우 첫 번째 행은 유지되고 다른 행은 삭제됩니다.
-
중복 삭제 변환은 데이터 프레임의 스키마를 변경하지 않습니다. 키를 지정하도록 선택한 경우 모든 필드가 그 결과로 나타나는 데이터 프레임에서 유지됩니다.