终于搞定二次排序,原谅我的重度拖延症。
感谢HEYUTAO007的博文:http://blog.csdn.net/heyutao007/article/details/5890103。
下面是《应用数理统计》课间 看上面的博文时顺便做的笔记。
刚好这几天有云计算大赛,有道题涉及到二次排序。于是我就找到上面的博文开始看,由于拖延症作祟,看了好多遍才开始代码实现。我用到的数据集和博文里的数据不太一样,每行多了1个属性,但是该属性不参与排序。我就陷入思维盲区,不知该怎么处理多的那个属性。后来加了一个MapReduce交流群,请教了群里的大神才知道可以直接把最后该输出的全部放到Value里;复合Key参与二次排序,最终搞定。
拖延症真可怕。
PS:
添加如下代码,把第三个属性加到Value里。
if (tokenizer.hasMoreTokens())
v = tokenizer.nextToken();
intkey.set(left, right);
intvalue.set(right+" "+v);