리듀스의 출력이 Text, Text 일 때, 알파벳 역순으로 출력되게 하는 Comparator
출처 : http://pkghosh.wordpress.com/2011/04/13/map-reduce-secondary-sort-does-it-all/
public static class KeyComprator extends WritableComparator {
02
03 protected KeyComprator() {
04 super(Text.class, true);
05 }
06
07 @Override
08 public int compare(WritableComparable w1, WritableComparable w2) {
09
10//ascending zone and day
11
12Text t1 = (Text) w1;
13 Text t2 = (Text) w2;
14 String[] t1Items = t1.toString().split(":");
15 String[] t2Items = t2.toString().split(":");
16 String t1Base = t1Items[0] + ":" + t1Items[1] + ":";
17 String t2Base = t2Items[0] + ":" + t2Items[1] + ":";
18 int comp = t1Base.compareTo(t2Base);
19
20//descending value
21 if (comp == 0) {
22 comp = t2Items[2].compareTo(t1Items[2]);
23 }
24
25 return comp;
26
27 }
28 }
'콤퓨타 > Hadoop' 카테고리의 다른 글
0.20.2 버전에서의 소스 기본 템플릿 (0) | 2013.02.20 |
---|
댓글