DBILITY

hadoop Secondary Sort ( 보조 정렬 ) 본문

bigdata/hadoop

hadoop Secondary Sort ( 보조 정렬 )

DBILITY 2016. 12. 6. 17:37
반응형

HDFS
 └ INPUTFORMAT

     └ SPLITS

       └ RECORDREADER

           └ MAP

             └ COMBINER

                └ PARTITIONER

                    └ SHUFFLE & SORT

                        └ REDUCE

                           └ RECORDWRITER

                               └ OUTPUTFORMAT


맵리듀스(MapReduce)는 기본적으로 입력 데이터의 Key를 기준으로 정렬한다.
네트워크를 통한 Shuffle 과정을 통해 Mapper의 출력 데이터를 key로 정렬하면서 동일 key를 갖는 value들끼리 묶는다.
이때 정렬 알고리즘을 적용할 수 있습니다.

  • 보조정렬 ( Secondary Sort )
    키의 값들을 그룹핑하고, 그룹핑된 레코드에 순서를 부여하는 방식
    ① WritableComparable Interface를 구현한 복합 키(Composite Key)를 정의, 키값 중 어떤 키를 그룹핑 키로 사용할지 결정(복합 키 정의).
    ② SortComparator는 WritableComparator를 상속하여 복합 키를 기준으로 Record 정렬하도록 구현(복합 키 레코드 정렬, 멤버 변수의 타입에 유의).
    ③ GroupKeyPartitioner는 Partitioner를 상속하여 그룹핑 키로 파티셔닝 되도록 구현(그룹핑 키 파티셔닝).
    ④ GroupingComparator는 WritableComparetor를 상속하여 복합 키 중 그룹핑 키를 비교하고, 그룹핑 키를 정렬하도록 구현(그룹핑 키 비교기).

참고 서적 : 시작하세요!  하둡프로그래밍 개정 2판(위키북스) - 정재화 지음

반응형
Comments