더북(TheBook)

분할 및 정복 전략의 구현 방법은 다음 그림에 표현되어 있습니다.

▲ 그림 4-4 분할 및 정복 전략의 구현 방법

그림에 표현된 각 단계는 다음과 같은 작업을 수행합니다.

1. 스플리팅(splitting): 입력 데이터를 여러 개의 파티션(partition)으로 쪼갭니다. 각 파티션은 독립적으로 처리될 수 있습니다. 이 사례에서는 전체 입력 데이터를 세 개의 파티션으로 나누었습니다.

2. 매핑(mapping): 분할된 각 파티션에 독립적으로 적용되는 연산을 매핑 연산이라고 합니다. 이 사례에서 매핑 연산은 각 단어를 키-값 쌍으로 변환합니다. 파티션이 세 개이므로 세 개의 매핑 연산이 병렬로 실행됩니다.

3. 셔플링(shuffling): 비슷한 키끼리 묶는 작업입니다. 이 작업이 마무리되면 각 그룹별로 취합 함수를 사용합니다. 셔플링은 네트워크에 퍼져 있는 키를 찾아 비슷한 것끼리 묶어야 하기 때문에 연산량이 많습니다.

4. 리듀싱(reducing): 그룹에 적용하는 취합 함수입니다. 이 사례에서는 단어의 개수를 세는 함수를 가리킵니다.

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