我有个设想。上一个作业的输出1
下一份工作我要找 i
具有最大值的键。例如i=3,3个具有最大值的键( i
将是自定义参数)
如何处理这个问题。
我们应该计算一下吗 max
在job2mapper中,由于输出来自先前的reducer或find,因此将有唯一的键 max
在第二份工作中,又该怎么找呢 i
钥匙?
更新
我试着用这种方法代替在reducer中以值的形式发出值,我以键的形式发出值,这样我就可以按升序获得值。我写了下一个mr作业,其中mapper只发出键/值。
reducer找到了key的最大值,但是我再次被卡住了,当我们试图获取id时,这无法完成,因为id是唯一的,值不是uniqe。
如何解决这个问题。
有人能提出解决这个问题的办法吗。
提前谢谢。
1条答案
按热度按时间9udxz4iz1#
你可以找到top
i
钥匙PriorityQueue
. 简单的代码来说明这个想法:如果您运行这个Map器(一个用于所有输入),您应该得到3个最大值的键.