块是HDFS的抽象,而InputSplits是MapReduce的抽象。默认情况下,一个HDFS块对应一个可以修改的InputSplit。
默认情况下,HDFS将块划分为精确的64MB块,也可能跨记录边界分割。在文件输入格式的情况下,从数据块创建InputSplits是由InputFormat决定的。每个InputSplit都将由一个单独的映射器处理。
示例它根据块大小拆分文件,但我的应用程序需要根据文件内容拆分文件
根据InputSplits考虑并根据应用程序要求创建新的InputFormat。以下是有关创建新InputFormat的一些教程(1,2和3)。