有人能解释一下mapreduce.job.reduces=-1的意思吗



需要了解mapreduce.job.reduces=-1的用途。我理解属性mapreduce.job.reduces将文件输出减少到配置的值,但-1的含义是什么。

报价单元的文档:

mapred.reduce.tasks<--(在YARN中是mapreduce.job.redus)
默认值:-1
添加到:配置单元0.1.0

每个作业减少任务的默认数量。通常设置为接近可用主机数量的素数。当mapred.job.tracker为"local"时忽略。Hadoop默认将其设置为1,而Hive则使用-1作为默认值。通过将此属性设置为-1,Hive将自动计算出减速器的数量。

设置减速器的数量远远多于设置输出文件的数量。它以某种方式定义了并行级别,即并行运行的reduce任务数量。如果使用1个reduce任务,则无法实现并行性。如果使用两个reduce任务,理想情况下,则需要将每个reduce的工作负载(和执行时间)减少一半。映射器的数量也是如此,但设置起来更难。

相关内容

  • 没有找到相关文章

最新更新