hadoop之输入输出格式

<STRONG>jobConf.setInputFormat(MyInputFormat. class );
InputFormat:</STRONG>
TextInputFormat:用于读取纯文本文件,文件被分为一系列以LF或CR结束的行,key是每一行的偏移量(LongWritable),value是每一行的内容(Text)。
KeyValueTextInputFormat:用于读取文件,如果行被分隔符分割为两部分,第一部分为key,剩下的为value;若没有分隔符,整行作为key,value为空。
SequenceFileInputFormat:用于读取SequenceFile,读取格式要与写出SequenceFileOutputFormat时设置的setOutputKeyClass与setOutputValueClass一致(key+value的格式)。
SequenceFileInputFilter:根据filter从SequenceFile中取得满足条件的数据,通过setFilterClass指定Filter,内置了三种Filter,RegexFilter取key值满足指定的正则表达式的记录;PercentFilter通过指定参数f,取记录行数f%== 0 的记录;MD5Filter通过指定参数f,取MD5(key)%f== 0 的记录。
例子:conf.setInputFormat(KeyValueTextInputFormat. class ); 
 
 
<STRONG>jobConf.setOutputFormat(MyOutputFormat. class )
setOutputFormat:</STRONG>
TextOutputFormat:输出到纯文本文件,格式为key + “    ”+ value。
NullOutputFormat:hadoop中的/dev/ null ,将输出送进黑洞。
SequenceFileOutputFormat,输出SequenceFile文件,其具体格式与setOutputKeyClass,setOutputValueClass相关 ,如此SequenceFileInputFormat的读取格式应该与SequenceFileOutputFormat的输出格式一致(key+value的格式)
MultipleSequenceFileOutputFormat, MultipleTextOutputFormat:根据key将记录输出到不同的文件,可以被重写 
DBInputFormatDBOutputFormat,从DB读取,输出到DB。
例子:conf.setOutputFormat(TextOutputFormat. class );

(转载)

InputSplit决定了每个Mapper要处理的数据集;
 
而InputFormat则决定了每一个Split里面的数据格式/数据结构;详见(http://book.douban.com/annotation/17068812/)

转载于:https://www.cnblogs.com/xuepei/p/3613027.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值