더북(TheBook)

4.2.1.1 HashPartitioner

HashPartitioner는 스파크의 기본 Partitioner다. HashPartitioner는 각 요소의 자바 해시(hash) 코드(Pair RDD는 키의 해시 코드)를 단순한 mod 공식(partitionIndex = hashCode % numberOfPartitions)에 대입해 파티션 번호를 계산한다. 각 요소의 파티션 번호를 거의 무작위로 결정하기 때문에 모든 파티션을 정확하게 같은 크기로 분할할 가능성이 낮다. 하지만 대규모 데이터셋을 상대적으로 적은 수의 파티션으로 나누면 대체로 데이터를 고르게 분산시킬 수 있다.

HashPartitioner를 사용할 경우 데이터 파티션의 기본 개수는 스파크의 spark.default.parallelism 환경 매개변수 값으로 결정된다. 이 매개변수를 지정하지 않으면 스파크는 클러스터의 코어 개수를 대신 사용한다(12장에서 스파크의 환경 매개변수를 자세히 설명한다).

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