1.TextInputformat
2. key-value TextInputformat
3.NLineInputformat
NLineInputformat可以控制在每个split中数据的行数。
4.SequenceFileInputformat
5.sequencefileAsTextInputF
ormat
6.sequencefileAsBinaryInpu
tFormat
7.复合输入
输出格式:
1.TextOutputformat
2.SequenceFileOutputformat
3.sequencefileAsOutputForm
at
4.MapFileOutputFormat
5.MultipleOutputFormat
MultipleOutputFormat允许reducer将输出写入多个文件,写入那个文件是由key和value决定的。MultipleOutputFormat提供了一些方法可以控制reducer输出目标文件的名字。MultipleOutputFormat是MultipleTextOutputFormat
和MultipleSequenceOutputFo
rmat两个类的父类。
6. MultipleOutputs
MultipleOutputFormat实际上是在reduce输出结果的时候指定文件名来实现多文件输出,而MultipleOutputs是在job指定的output基础上,新增额外的输出,他才是真正意义上的多文件输出。
MultipleOutputs分为两种情况:
·附加单个文件输出。有些时候我们在原有的结果输出基础上,还想输出一些其他的信息,这是就可以调用MultipleOutputs的addNamedOutput方法,并且outputformat格式及keyvalue类型都可以自定义的。
·附加多个文件:
调用MultipleOutputs的addMultiNameOutput方法可以附加多个文件,利用这个方法可以实现多文件分类输出。