MapReduce算法形式五:TOP—N

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MapReduce算法形式五:TOP—N相关的知识,希望对你有一定的参考价值。

案例五:TOP—N

这个问题比较常见,一般都用于求前几个或者后几个的问题,shuffle有一个默认的排序是正序的,但如果需要逆序的并且暂时还不知道如何重写shuffle的排序规则的时候就用以下方法就行,java中说到排序无非就是比较器,然后结合着集合,这样基本上就能解决我的需求了,但是有个问题需要注意,就是虽说集合是不定长的,但是呢,面对大数据而言,就可能会出现内存溢出的问题,所以最好不要讲所有数据都加入集合中在取出前N个,直接排序,加一个排一个,满足N个就把最后一个踢掉,这样会好点。

还有一个问题是,因为这里我用的是jdk7,所以传入比较器的时候我只能写匿名内部类,但如果是JAVA8,Lamaba表达式一句话就能解决排序问题,我还是比较钟情于Lamaba表达式的,非常简单。

废话完了,上码吧~

技术分享技术分享技术分享技术分享技术分享技术分享

以上是关于MapReduce算法形式五:TOP—N的主要内容,如果未能解决你的问题,请参考以下文章

MapReduce算法形式二:去重(HashSet)

MapReduce算法形式四:mapjoin

以MapReduce编程五步走为基础,说MapReduce工作原理

MapReduce算法形式三:cleanup

MapReduce算法形式六:只有Map独自作战

MapReduce 实现常用算法