我的减速机给这个o/p
Country-Year,Medals
India-2008,60
United States-2008,1237
Zimbabwe-2008, 2
Namibia-2009,22
China-2009,43
United States-2009,54
我想要的是,根据奖牌进行排序,并显示前三名。
Country-Year,Medals
United States-2008,1237
India-2008,60
United States-2009,54
有人建议我在定制的recordreader中进行排序(我知道它是在mapper部分使用的),我浏览了一些资源,但找不到关于排序的内容。请分享任何想法或链接到资源。提前谢谢!
2条答案
按热度按时间nvbavucw1#
当您在reducer类中聚合Map器的结果而不是将其写入输出时,请将其放入Map中,然后对Map进行排序并相应地显示结果。
key=country-year,value=modules虚拟代码展示如何实现
希望这会有所帮助。
mzaanser2#
您可以实现map reduce top k设计模式来实现您的目标。
top k设计模式将根据值对记录进行排序,并选择top k记录。
您可以通过此链接在数据上实现top k设计模式。