mapreduce.job.running.reduce.limit 和 mapred.reduce.tasks 有什么区别
What's the difference between mapreduce.job.running.reduce.limit and mapred.reduce.tasks
我们使用的是 Hadoop 2.7.1,我发现以下 2 个参数都设置在一些现有的 MapReduce 代码中,
mapreduce.job.running.reduce.limit=500
mapred.reduce.tasks=50
后者似乎有效,因为最终生成了 50 个 part-* 文件。
有谁知道这两个参数之间的区别,如果人们同时指定这两个参数,实际会发生什么?谢谢。
来自官方文档:
mapreduce.job.running.reduce.limit
每个作业同时减少任务的最大数量。没有限制
如果此值为 0 或负数。
what would actually happen if people specify both of them?
不会对您的示例产生影响。但是,如果您将限制设置为 50 并将任务设置为 500,hadoop 将不会 运行 一次所有 500 个减速器,即使您的集群容量足够了。
我们使用的是 Hadoop 2.7.1,我发现以下 2 个参数都设置在一些现有的 MapReduce 代码中,
mapreduce.job.running.reduce.limit=500
mapred.reduce.tasks=50
后者似乎有效,因为最终生成了 50 个 part-* 文件。
有谁知道这两个参数之间的区别,如果人们同时指定这两个参数,实际会发生什么?谢谢。
来自官方文档:
mapreduce.job.running.reduce.limit
每个作业同时减少任务的最大数量。没有限制 如果此值为 0 或负数。
what would actually happen if people specify both of them?
不会对您的示例产生影响。但是,如果您将限制设置为 50 并将任务设置为 500,hadoop 将不会 运行 一次所有 500 个减速器,即使您的集群容量足够了。