FileInputFormat实现类
思考:在运行MapReduce程序时,输入的文件格式包括:基于行的日志文件、
二进制格式文件、数据库表等。那么,针对不同的数据类型,MapReduce是如
何读取这些劣如据的呢?
FileInputFormat常见的接口实现类包括:TextInputFormat .
KeyValueTextInputFormat、NLineInputFormat、CombineTextInputFormat和自定义
InputFormat等。
1.TextlnputFormat
TextInputFormat是默认的FileInputFormat实现类。按行读取每条记录。键是存储该行在整个文件中的
起始字节偏移量,LongWritable类型。值是这行的内容,不包括任何行终止符(换行符和回车符),
Text类型。

2.KeyValueTextlnputFormat
每一行均为一条记录,被分隔符分割为key , value。可以通过在驱动类中设置
conf.st(KeyValueLineRecordReader.KEY_VALUE_SEPERATOR,”t”);,来设定分隔符。默认分隔符是tab (t)。
以下是一个示例,输入是一个包含4条记录的分片。其中——>表示一个(水平方向的)利表符。

3.NLinelnputFormat
如果使用NlineInputFormat,代表每个map进程处理的InputSplit不再按Block块去划分,而是按
NlineInputFormat指定的行数N来划分。即输入文件的总行数/N切片数,如果不整除,切片数=商+1。
以下是一个示例,仍然以上面的4行输入为例。










![[附源码]Python计算机毕业设计SSM流浪动物管理系统(程序+LW)](https://img-blog.csdnimg.cn/68e663b1e61c4014a0742ddb2c392f53.png)


![[附源码]Python计算机毕业设计SSM浪漫烘焙屋(程序+LW)](https://img-blog.csdnimg.cn/eed66e8b4d9242ed9fcc69d3bed281d4.png)



![[附源码]Python计算机毕业设计Django的桌游信息管理系统](https://img-blog.csdnimg.cn/df73f78571b64ffb93e5bae450d041ba.png)


