源码分析 --- MapReduce如何确定任务的SplitSize、Splits、Map、Reduce

  • 一、结论:

    • 1.SplitsSize = Math.max(minSize, Math.min(maxSize, blockSize)) = 默认的Maxth.Max(minSize=1, Math.min(maxSize=Long的最大值,64或者128或者256M)) = 64M/128M/256M;

      • 参数一:其中 minSize: long minSize = Math.max(getFormatMinSplitSize(), getMinSplitSize(job)),因此这个值默认为 1,原因如下几个参数解释;

        • 其中 getFormatMinSplitSize() = 1, 此处是当前格式规定的下限值;

        • 其中 getMinSplitSize(job) = return job.getConfiguration().getLong(SPLIT_MINSIZE, 1L) 此处getMinSplitSize是返回的最小的splitSize,其中默认值是1L;

          • 其中 SPLIT_MINSIZE = public static final String SPLIT_MINSIZE = "mapreduce.input.fileinputformat.split.minsize”; 此处为手动设置的参数;

          • 其中1L,假如用户没有指定splitSize的大小,则可以使用默认的参数1L;

      • 参数二:其中 maxSize:getMaxSplitSize(job);

        • 其中 getMaxSplitSize(job) = co

你可能感兴趣的:(大数据挖掘与大数据应用案例,源码分析)