MapReduce框架原理之(一)InputFormat数据输入
MapReduce框架原理之InputFormat数据输入 1 切片与MapTask并行度决定机制 2 FileInputFormat切片源码解析 3 CombineTextInputFormat切片机制 3.1 TextInputFormat 3.2 KeyValueTextInputFoamte 3.3 NLineInputFormat 3.4 KeyValueTextInputFormat 4 自定义InputFormat 4.1 自定义InputFormat演示 4.2 代码实现 1 切片与MapTask并行度决定机制 MapTask并行度决定机制 (1)数据块:Block,在HDFS中,将数据物理上分成一块一块. (2)数据切片:数据切片只是在逻辑上对输入的数据进行分片,并不会在磁盘上真的将数据切成多片存储. 为什么要按默认块大小来切片: 假设,我们现在有一个大小为300M的xx.iso文件 (1)如果按照默认的Block大小(128M)来切分,可以分为3块: 这三块分别被存放在3个节点上,如下所示: 这时前两个块都是满的 (2)如果按照均等分,即100M/块来切分,也可以分成 a , b , c 三块: 但是切分之后,会出现如下状态: 由于HDFS的block默认是128M的大小,DataNode1中,的某个block中, 0~100M 的区间存储了切分出来的块 a