有几个地方说 Hadoop 作业中的默认减速器数量是 1。您可以使用 mapred.reduce.tasks 符号手动设置减速器的数量。
当我运行 Hive 作业(在 Amazon EMR、AMI 2.3.3 上)时,它的减速器数量大于一个。查看作业设置,我认为是 Hive 设置了 mapred.reduce.tasks。它是如何选择这个数字的?
注意:以下是运行 Hive 作业时的一些消息,应该是一个线索:
...
Number of reduce tasks not specified. Estimated from input data size: 500
In order to change the average load for a reducer (in bytes):
set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
set mapred.reduce.tasks=<number>
...