4.1.2절 마지막에 등장한 aggregateByKey 연산자의 소스 코드를 사용해 셔플링 과정에서 파티션에 과연 무슨 일이 일어나는지 살펴보자. 이 변환 연산에서 발생할 셔플링 과정은 그림 4-2에서 볼 수 있다.
▲ 그림 4-2 세 파티션으로 구성된 RDD에 aggregateByKey 변환 연산을 수행할 때 발생할 셔플링 과정(aggregateByKey에 전달된 변환 함수는 파티션별로 값을 병합한다. 병합 함수는 셔플링 단계를 거치며, 여러 파티션의 값을 최종 병합한다. 중간 파일에는 파티션별로 병합된 값을 저장하며, 이 파일을 셔플링 단계의 입력 데이터로 사용한다.)