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

iszxjhcz  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(570)

我们使用的是Hadoop2.7.1,我发现下面两个参数都是在一些现有的mapreduce代码中设置的,

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

后者似乎有效,因为最终生成了50个part-*文件。
有人知道这两个参数之间的区别吗?如果人们同时指定这两个参数,会发生什么?谢谢您。

ibrsph3r

ibrsph3r1#

来自官方文件:
mapreduce.job.running.reduce.limit文件
每个作业同时减少的最大任务数。如果此值为0或负值,则没有限制。
如果人们同时指定他们两个,会发生什么呢?
对你的例子没有影响。但是,如果将limit设置为50,将tasks设置为500,hadoop将不会同时运行所有500个reducer,即使集群容量足够。

相关问题