在map阶段读取数据前,FileInputFormat会将输入文件分割成split。split的个数决定了map的个数。
公式:InputSplit=Math.max(minSize, Math.min(maxSize, blockSize)
影响map个数(split个数)的主要因素有:
mapreduce.input.fileinputformat.split.minsize 默认值 0
mapreduce.input.fileinputformat.split.maxsize 默认值 Integer.MAX_VALUE
dfs.blockSize 默认值 128M
所以在默认情况下 map的数量=block数