mapreduce.job.running.reduce.limit和mapred.reduce.tasks有什么区别

时间:2019-07-02 13:10:54

标签: hadoop mapreduce

我们使用的是Hadoop 2.7.1,我发现以下两个参数均已在某些现有的MapReduce代码中设置

mapreduce.job.running.reduce.limit=500
mapred.reduce.tasks=50

后者似乎起作用,因为最终生成了50个part- *文件。

没有人知道thoes 2参数之间的区别,如果人们同时指定了这两个参数,将会发生什么?谢谢。

1 个答案:

答案 0 :(得分:0)

摘自官方文档:

mapreduce.job.running.reduce.limit

每个作业的同时减少任务的最大数量。没有限制 如果该值为0或负数。

  

如果人们同时指定了两者,将会发生什么?

在您的示例中将不起作用。但是,如果将限制设置为50,将任务设置为500,则即使您的集群容量足够,hadoop也不会一次运行所有500个减速器。