设置地图任务的数量

时间:2014-02-14 12:10:46

标签: java mapreduce mapper reducers

在配置Map Reduce作业时,我知道可以使用job.setNumReduceTasks(2);方法设置reduce任务的数量。

我们可以设置地图任务的数量吗?

我没有看到任何方法来做到这一点。

如果没有这样的功能,有人知道为什么这个框架能够有超过1个reduce任务,但不能超过1个map任务吗?

2 个答案:

答案 0 :(得分:0)

映射任务的数量不是程序员设置的东西,而是hadoop框架的东西,特别是TaskTracker创建的输入分割数(通常为64mb但可以更改)的输入分割数量与HDFS ...

答案 1 :(得分:0)

以前有用于设置地图任务数量的属性,即 setNumMapTasks 。 Bur它只是对框架的暗示,并不能保证你只能获得指定数量的地图。地图创建实际上由您在作业中使用的输入格式管理。这就是它不再受支持的原因了。

如果您对框架创建的地图制作者数量不满意,可以尝试根据您的要求调整以下2个属性的值:

- mapred.min.split.size
  - mapred.max.split.size