我有一个mr作业,它使用多路输出格式,输出500个文件。我想压缩那些文件而不合并它们。
ulydmbyx1#
你必须使用 SequenceFileOutputFormat :一种outputformat,以二进制(原始)格式将键、值写入SequenceFilesequencefile.compressiontype中可以有三种变体块:将记录序列按块压缩在一起。无:不压缩记录。记录:仅压缩每个值。代码中的关键更改。
SequenceFileOutputFormat
Path outDir = new Path(WORK_DIR_PREFIX + "/out/" + jobName); job.setOutputFormatClass(SequenceFileOutputFormat.class); SequenceFileOutputFormat.setOutputPath(job, outDir); SequenceFileOutputFormat.setOutputCompressionType(job, CompressionType.BLOCK);
看看sequencefileoutputformat用法的工作示例。
1条答案
按热度按时间ulydmbyx1#
你必须使用
SequenceFileOutputFormat
:一种outputformat,以二进制(原始)格式将键、值写入SequenceFilesequencefile.compressiontype中可以有三种变体
块:将记录序列按块压缩在一起。
无:不压缩记录。
记录:仅压缩每个值。
代码中的关键更改。
看看sequencefileoutputformat用法的工作示例。