进入textFile原码
发现 分区数量调用 hadoopFile中的TextInputFormat类,传入参数Key为LongWritable即偏移量,value为Text,
由此得知是通过这个类来读取
继续进入TextInputFormat类中
发现有个是否可以切分的判断,可以知道 一些不可拆分的文件由此过滤掉,可以切片拆分的文件继续往下寻找却没有相关处理逻辑 ,所以我们向上去到父类FileInputFormat中
找到如上逻辑,调用了listStatu与namenode交互获取文件属性,把要读取的文件总长度计算出来 totalSize
下面找到一个关键变量goalSize他的值为所有文件总长度除以默认最小分区数,
中间过程不一一赘述,关键代码在computeSplitSize
进入computeSplitSize中