outputFormat的使用
1. 文本输出TextOutputFormat
默认的输出格式,把每条记录写为文本行
默认分隔符定义是:\t
即 key\tvalue
将最终输出的key、value数据以指定的分隔符(默认是\t)将key value拼接,然后以字符串(普通的文本数据)写出到结果文件中
分隔符可以自定义:
conf.set("mapreduce.output.textoutputformat.separator",“自定义的分割符”)
2. SequenceFileOutputFormat
- 它的输出作为后续MapReduce任务的输入,这是一种好的输出格式,将输出转成二进制格式,可以指的压缩格式
- 支持压缩和分片,可以压缩文件的record或者block of records
- 三种压缩的选择:
- NONE:key和value都不压缩
- RECORD:只有value会被压缩
- BLOCK:key和value都会被压缩
job.setOutputFormatClass(SequenceFileOutputFormat.class);
SequenceFileOutputFormat.setOutputCompressionType(job, SequenceFile.CompressionType.RECORD);
3. 自定义OutputFormat
本文来自博客园,作者:jsqup,转载请注明原文链接:https://www.cnblogs.com/jsqup/p/16535484.html