《Hadoop权威指南》——第七章MapReduce的类型与格式
输入
类FileInputFormatFileInputFormat是所有使用文件作为数据源的InputFormat实现的基类。
<!--[if !supportLists]-->六、<!--[endif]-->数据库输入(数据库和HBase),类DBInputFormat
输出
类TextOutputFormat这是默认的输出格式。
可以通过设置mapred.textoutputformat.separator属性改变默认的分隔符。与TextOutputFormat对应的输入格式是KeyValueTextInputFormat。
类SequenceFileOutputFormat类MapFileOutputFormat该类把MapFile作为输出。MapFile中的键必须顺序添加,因此必须确保reducer输出的键已经排好序。
类MultipleOutputFormat和类MultipleOutput(多个输出)4,1 MultipleOutputFormat是个抽象类,有两个实体子类:MultipleTextOutputFormat和MultipleSequenceFileOutputFormat类。该抽象类提供了一些子类覆盖来控制输出文件名的Protected方法。例子如下:
?最后,在main中设置setOutputFormat(MyMulitpleOut.class)。
MultipleOutputFormat还有很多特性,如为只有map的作业进行复制输入目录结构和文件命名等能力。
4,2 MultipleOutputs
注意:MultipleOutputs只能包含字母字符。具体用法参见《hadoop权威指南》P221.
注:在新版的MapReduceAPI中,只有MultipleOutputs,它支持这两种多输出类的所有特征。
?
数据库输出(数据库和HBase)