더북(TheBook)

스파크에서는 RDD의 파티션 개수가 매우 중요하다. 파티션 개수가 데이터를 클러스터에 분배하는 과정에서 영향을 미치기도 하지만, 해당 RDD에 변환 연산을 실행할 태스크 개수와 직결되기 때문이기도 하다. 태스크 개수가 필요 이하로 적으면 클러스터를 충분히 활용할 수 없다. 게다가 각 태스크가 처리할 데이터 분량이 실행자의 메모리 리소스를 초과해 메모리 문제가 발생할 수 있다. 따라서 클러스터의 코어 개수보다 서너 배 더 많은 파티션을 사용하는 것이 좋다. 파티션 개수를 조금 과다하게 늘린다고 문제가 발생하지는 않으므로 마음껏 실험해 보자. 그러나 태스크가 너무 많으면 태스크 관리 작업에 병목 현상이 발생하므로 비상식적으로 큰 값은 설정하지 말자. 이제 스파크의 데이터 파티셔닝을 어떻게 구현했는지 알아보자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.