org.apache.hadoop.mapreduce.Job 设置映射任务的数量?该功能似乎不存在...但它存在于org.apacache.hadoop.mapred.JobConf...
谢谢!
AFAIK,不再支持 setNumMapTasks。
它只是对框架的提示(即使在旧的 API 中),并不能保证您只会获得指定数量的映射。地图创建实际上由您在作业中使用的输入格式控制。
您可以根据需要调整以下属性:
-
mapred.min.split.size
-
mapred.max.split.size
由于您正在处理小数据,因此将mapred.max.split.size设置为较低的值应该可以解决问题。您可以在作业中使用setMaxInputSplitSize(Job,long)来更改此设置。long 参数是以字节为单位的拆分大小,您可以将其设置为所需的值。
此外,使用 dfs.block.size 将 HDFS 块大小设置为较小的值,用于小型数据。