Version 3
- 여기서 시도할 방식은 흔히 Secondary Sorting이라는 것이다.
- 보통 reducer로 넘어오는 밸류 리스트는 특별한 순서가 없이 랜덤하다. 앞에서 보았던 SortingComparator를 보면 키값 비교를 위해 단순히 키만 비교하기 때문
- 만일 밸류리스트에 순서를 줄 수 있다면 이 문제를 reducer단에서 해결가능!
* 즉 같은 단어를 갖는 DocID의 리스트를 소팅된 상태로 받을 수 있다면 간단하게 같은 DocID에서 넘어온 단어들을 한번만 출력가능
* 또한 Inverted index의 문서 리스트가 ID로 소팅이 되기때문에 다른 연산 (AND연산등)이 간단해진다.
Version 3 - 새타입사용
- Secondary sorting을 하려면 커스텀타입이 키로 사용되어서 밸류가 키로 들어가야함
* 그래야 나중에 GroupingComparator가 그룹핑시 밸류는 무시하고 SortingComparator는 소팅시 밸류를 염두에 둘수 있다.
- WordID라는 타입을 정의
* WritableComparable에서 계승
* 다음 2개의 멤버변수를 가짐
Version 3 - main
- partitoner, SortingComparator, GroupComparator를 모두 커스텀클래스로 교체
'빅데이터 > 빅데이터Hadoop' 카테고리의 다른 글
빅데이터공부하기 60. 스트리밍소개 (0) | 2015.06.24 |
---|---|
빅데이터공부하기 59_4 INVERTED INDEX V3 (0) | 2014.12.10 |
빅데이터공부하기 59_2 INVERTED INDEX V2 (0) | 2014.12.08 |
빅데이터공부하기 59_1 INVERTED INDEX V1 (0) | 2014.12.03 |
빅데이터공부하기 58_1 JOIN ID AND TITLE V2 (0) | 2014.12.02 |