MapReduce의 성능을 입증하는 데 사용되는 주요 예 중 하나는 Terasort 벤치 마크 입니다. MapReduce 환경에서 사용되는 정렬 알고리즘의 기본 사항을 이해하는 데 어려움이 있습니다.
나에게 정렬은 단순히 다른 모든 요소와의 관계에서 요소의 상대적 위치를 결정하는 것을 포함합니다. 따라서 정렬에는 "모든 것"과 "모든 것"을 비교하는 것이 포함됩니다. 평균 정렬 알고리즘 (빠른, 거품 등)은이를 현명한 방식으로 수행합니다.
내 생각에 데이터 세트를 여러 조각으로 분할한다는 것은 단일 조각을 정렬 할 수 있다는 의미이며, 그런 다음 이러한 조각을 '완전한'완전히 정렬 된 데이터 세트에 통합해야한다는 것을 의미합니다. 수천 대의 시스템에 분산 된 테라 바이트 데이터 세트를 감안할 때 이것은 엄청난 작업이 될 것으로 예상합니다.
그렇다면 이것이 실제로 어떻게 이루어 집니까? 이 MapReduce 정렬 알고리즘은 어떻게 작동합니까?
이해하도록 도와 주셔서 감사합니다.