我们正在使用Hadoop 2.7.1,我发现以下2个参数都在某些现有的MapReduce代码中设置为
mapreduce.job.running.reduce.limit=500
mapred.reduce.tasks=50
似乎有效,因为最终生成了50个part-*文件。
有人知道2个参数之间的区别吗?如果人们指定两个参数会发生什么?谢谢。
来自官方文档:
MapReduce.job.running.ReDuce.Limit
同时减少每个作业任务的最大数量。没有限制如果此值为0或负。
如果人们指定他们俩,实际上会发生什么?
在您的示例中将没有效果。但是,如果您将限制设置为50,而任务为500,那么Hadoop也不会一次运行所有500个还原器,即使您的群集容量足够。