我有一个map reducer作业,必须输出多个输出,我在这个例子中使用multipleOutputFormat:http://grepalex.com/2013/05/20/multipleoutputs-part1/
以下是挑战:
作为解决方案:
选项1:根据重量为减速器分配键。所以所有的减速器都有相同的负载。 (1个大密钥被发送到5个不同的减速器,而6个小密钥被发送到单个减速器)
选项2:再次根据重量分配键,但确保减速器只能使用一个键。 (1个大密钥被发送到5个不同的,但6个小密钥也被发送到单独的减速器)
优点&缺点:
这两个选项都在合理的时间内运行。我需要一些建议,我应该选择哪一个。
谢谢
答案 0 :(得分:0)
选项1似乎是最佳选择。两个选项的执行时间将接近相同,但选项1最大限度地减少了运行每个reducer所需的开销工作。
答案 1 :(得分:0)
选择2更好 还有另一种选择:添加一列作为键,只需在输入数据时使用列,因此不需要更多随机键。