简述Map的分片有多大 ?
参考答案:
Map的分片大小并不是固定的,而是根据Hadoop的配置和作业的总输入数据量动态计算的。Hadoop的Map任务的默认分片大小通常是64MB,但这可以根据需要进行调整。
具体的分片大小是通过一系列参数和计算得出的。首先,会计算一个推荐的分片大小(goalSize),这个值等于作业的总输入数据量(totalSize)除以推荐的Map任务数(mapred.map.tasks)。然后,会确定一个最小分片大小(minSize),这个值通常是mapred.min.split.size和minSplitSize(默认为1)中的较大值。最后,实际的分片大小(splitSize)会取minSize和goalSize与文件块大小(dfs.block.size,默认值为64MB)中的较小值的较大值。
因此,Map的分片大小取决于作业的总输入数据量、推荐的Map任务数以及Hadoop的文件块大小等参数。在实际应用中,可以根据作业的特性和需求来调整这些参数,以优化Map任务的性能和效率。