刚开始学习hadoop 用于实践
reducer 的数目可以通过参数指定--Job.setNumReduceTasks(int) 通常设置为 (0.95~1.75 ) * 节点数量 * 每个节点上最大的容器数
而mapper的数目如何确定呢?
inputsplit由如下算法得到:Math.max(minSize, Math.min(maxSize, blockSize)) 通俗讲就是inputsplit取blcoksize在minsize 和maxsize范围内的值,当然超出的话就是上下限值 minsize、maxsize
抽象方法List<InputSplit> getSplits(JobContext context)定义了如何将输入分割为InputSplit,不同的输入有不同的分隔逻辑,而分隔得到的每个InputSplit交由不同的mapper处理,因此该方法的返回值确定了mapper的数量