Hadoop源码---Inputformat

作用:

1、将输入切分成split,确定split大小,map个数。 由getSplits方法实现。

 2、为mapper提供输入数据,key/value形式。getRecordReader方法

核心算法:

1、文件切分算

作用:确定split个数。

概念:

 globalSize: totalsize/numSplits  ; 

minSize: InputSplit 最小值 配置参数

blockSize: block大小

公式: splitSize = max{ minSize, min{globalSize,blockSize}}


2、数据本地化(host选择)

目的是 减少数据传输,尽量将InputSplit存放在本地。

算法:对rack包含的数据量排序,对rack中节点排序,取top3


你可能感兴趣的:(Hadoop源码---Inputformat)