InputFormat: TextInputFormatmapreduce.input.fileinputformat.split.minsize = 1 配置, 没有配置默认为 1mapreduce.input.fileinputformat.split.maxsize = 1 最大的分片值long minSize = Math.max(getFormatMinSplitSize(), getMinSplitSize(job));计算分片: long splitSize = 0;调大minSize 扩大分片大小, 调小 maxSize 调小分片大小.protected long computeSplitSize(long blockSize, long minSize, long maxSize) { return Math.max(minSize, Math.min(maxSize, blockSize));}分片排序: 按照分片长度从小到大排序Arrays.sort(array, new SplitComparator());配置: mapreduce.job.maps没有配置默认使用maps 填充, 设置map 数conf.setInt(MRJobConfig.NUM_MAPS, maps);写配置文件到提交目录writeConf(conf, submitJobFile);Job 继承了Thread, 然后查看run() 方法. 新建MapTask 运行。org.apache.hadoop.mapred.LocalJobRunner.Job#Job