同一个键不同的缩减器(hadoop)?

7nbnzgx9  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(381)

是否可以在不同的异径管上用相同的键处理值?从所有的Map器中,我得到了相同密钥的数据,我想用不同的缩减器来处理它?我的困惑是这本书说,所有的值与同一个键将去同一个减速机。。。

mapper1(k1,v1),mapper2(k1,v2),mapper3(k1,v3) and so on...

我不希望所有的数据都是同一个减速机…应该是这样的,

reducer1(k1,v1),reducer2(k1,v2)....

假设reducer1产生sum1,reducer2产生sum2,我想要这个

sum=sum2+sum1

我该怎么做?

zbdgwd5y

zbdgwd5y1#

具有相同键的数据将始终传送到同一个减速机。但是你可以选择你想要的任何键,所以如果你想让它们去不同的减速器,那么就选择不同的键。
如果要基于reducer的输出执行其他组合,则必须执行另一个mapreduce作业,将第一个作业的输出作为下一个作业的输入。这会很快变得难看,所以您可能希望看看级联、pig或hive来简化事情。

44u64gxh

44u64gxh2#

您可以为您的案例编写一个自定义分区器,它覆盖hadoop mr job的默认分区功能。
更多详情请参见:http://developer.yahoo.com/hadoop/tutorial/module5.html#partitioning

相关问题