FileInputFormat实现类

一、TextInputFormat

1、TextInputFormat是默认的FileInputFormat的实现类。
2、按行读取每条记录。
3、键:存储该行在整个文件中起始字节偏移量,LongwWritable类型
4、值:这行的内容,不包含任何行终止符(换行符和回车符),Text类型

注意:键的值: 该行第一个字节,在整个文件中的偏移量

 二、KeyValueTextInputFormat

1、按行读取

2、被分隔符分为 key, value,第一个是 key,后面是 value

3、分隔符通过驱动类设置

conf.set(KeyValueLineRecordReader.KEY_VALUE_SEPERATOR, " ");

4、默认的分隔符是:\t

5、key的数据类型:Text,value的数据类型:Text

三、NLineInputFormat

1、mapTask的数量,不是按照Block分,而是按照 文件行数/N, N为行数,若有余数,则加一

2、key的数据类型:LongWritable Value的数据类型:Text

注意:键和值与TextInputFormat一致

四、CombineTextInputFormat

处理小文件,前面已有

五、总结分析

类型          切片      key        value

TextInputFile            Block                    LongWritable              Text

KeyValueTextInputFile  Block                    Text          Text

NLineInputFile         行切片                  LongWritable           Text

CombineTextInputFile     切片过程         LongWritable    Text

自定义InputFile       Block               Text                          BytesWritable  

posted @ 2020-09-03 22:40  市丸银  阅读(214)  评论(0编辑  收藏  举报