一 map任务的数量:
(1)map任务的数量由输入数据的大小决定:
*把输入数据分成多少数据块(HDFS默认块大小为64MB)就为每一个数据块产生一个map任务。
*n个大小小于数据块的文件,则通常会为每个小文件产生一个map任务。
(2)控制数据块大小:
*FileInputFormat的setMaxInputSplitSize方法:设置最大分片(即数据块)的大小,从而间接控制产生map任务的数量。
*FileInputFormat只划分比HDFS block大的文件。
二 reduce任务的数量:
(1)可通过Job类的setNumReduceTasks方法设定。