Hadoop常用的INPUTFORMAT类,下表中列出来InputFormat的其他常用实现,并简要描述了每个实现传递给mapper的键/值对.
TestInputFormat | 在文本文件中的每一行均为一个记录.键(key)为一行的字符偏移,而值(value)为一行的内容Key:LongWritableValue:Text |
KeyValueTextinputFormat | 在文本文件中的每一行均为一个记录.以每行的第一个分隔符为界,分隔符之前的是键(key),之后的是值(value).分离器在属性key.value.separator.in.input.line中设定,默认为制表符(\t)Key:TextValue:Text |
SequenceFileInputFormat<K,V> | 用于读取序列文件的InputFormat,键和值由用户定义,序列文件为Hadoop专用的压缩二进制文件格式.它专用于一个MapReduce作业和其他MapReduce作业之间传送数据Key:K(用户定义)Value:V(用户定义) |
NLineInputFormat | 与 TestInputFormat相同,但每个分片一定有N行,N在属性mapred.line.input.format.inespermap中设定,默认为1.Key:LongWritableValue:Text |
TextOutputFormat | 将每个记录写为一行文本,键和值以字符串的形式写入.并以制表符(\t)分隔,这个分隔符可以在属性mapred.textoutputformat.separator中修改. |
SequenceFileOutputFormat<K,V> | 以hadoop专有序列文件格式写入键/值对.与SequenceFileInputFormat配合使用 |
nullOutputFormat<K,V> | 无输出 |