SetNumMapTask带有mapreduce.Job

ste*_*fff 3 hadoop mapreduce

如何使用org.apache.hadoop.mapreduce.Job设置map任务的数量?该函数似乎不存在...但它存在于org.apacache.hadoop.mapred.JobConf ...

谢谢 !

Tar*_*riq 5

不再支持AFAIK,setNumMapTasks.

它只是对框架的暗示(即使在旧的API中),并不保证您只获得指定数量的地图.地图创建实际上由您在作业中使用的InputFormat管理.

您可以根据需要调整以下属性:

  • mapred.min.split.size

  • mapred.max.split.size

由于您正在处理小数据,因此将mapred.max.split.size设置为较低的值应该可以解决问题.您可以在作业中使用setMaxInputSplitSize(Job,long)来改变它.long参数是以字节为单位的拆分大小,您可以将其设置为所需的值.

另外,使用dfs.block.size将HDFS块大小设置为较小的小数据值.