outputFormat的使用

1. 文本输出TextOutputFormat

默认的输出格式,把每条记录写为文本行
默认分隔符定义是:\t
即 key\tvalue
将最终输出的key、value数据以指定的分隔符(默认是\t)将key value拼接,然后以字符串(普通的文本数据)写出到结果文件中
分隔符可以自定义:
conf.set("mapreduce.output.textoutputformat.separator",“自定义的分割符”)

2. SequenceFileOutputFormat

  1. 它的输出作为后续MapReduce任务的输入,这是一种好的输出格式,将输出转成二进制格式,可以指的压缩格式
  2. 支持压缩和分片,可以压缩文件的record或者block of records
  3. 三种压缩的选择:
  • NONE:key和value都不压缩
  • RECORD:只有value会被压缩
  • BLOCK:key和value都会被压缩
job.setOutputFormatClass(SequenceFileOutputFormat.class);
SequenceFileOutputFormat.setOutputCompressionType(job, SequenceFile.CompressionType.RECORD);

3. 自定义OutputFormat

posted @ 2022-07-30 18:08  jsqup  阅读(95)  评论(0编辑  收藏  举报