인프런 커뮤니티 질문&답변

울룰룰랄랑님의 프로필 이미지
울룰룰랄랑

작성한 질문수

실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크

Repartition과 Coalesce에 대해 궁금한 점이 있어요!

작성

·

49

1

안녕하세요 선생님.

Repartition & Coalesce 에 강의를 보다가 궁금한 점이 있습니다.

 

현재 현업에서 Repartition을 수행하여 partition 한 데이터를 한 번 더 repartition 해주고 있는데요..

예를들어 파티션 개수가 1개이고 -> 파일 개수가 100개라고 가정할 때,

 

// count 가 100개 -> 1개로 줄이려고 함

(ex) hdfs dfs -count {path}/{partition_key}={partition_value}/

 

파일 개수를 1개로 줄이고자 할 때는, repartition을 수행하는 것 보단, coalesce 를 수행하여 1개로 줄이는 게 더 적합하다는 (왜냐하면 wide shffling을 진행하기 때문에..?) 이야기 이실까요? 이 부분을 잘 이해를 못 했습니다 ㅠㅠ.

 

감사합니다!

답변 1

0

미쿡엔지니어님의 프로필 이미지
미쿡엔지니어
지식공유자

안녕하세요 울룰룰랄랑님,

간단히 기억하자면 이렇습니다.

Coalesce는 전체적으로 데이타를 분산해서 재계산하지 않고, 효율적으로 파티션을 줄일 때 사용합니다(예를들면 같은 노드에 파티션이 여러개 있었다면 그들을 재분산하지않고 바로 합칩니다). 그에 반해 Repartition은 전체적으로 데이타를 재분산시켜서 파티션을 줄이거나 늘릴때 사용하며, 또는 분산을 더 고르게하는 장점이 있습니다.

 

아 그렇군요. 그럼 파티션을 줄인다고해서 꼭 coalesce 를 사용해야 하는건 아니겠군요.

알려주셔서 감사합니다~

울룰룰랄랑님의 프로필 이미지
울룰룰랄랑

작성한 질문수

질문하기