压缩MapReduce的输出文件,而不合并它们



我有一个MR作业,它使用多重输出格式并输出500个文件。我想压缩那些文件而不合并它们。

您必须使用SequenceFileOutputFormat:一种以二进制(原始)格式向SequenceFiles写入键和值的OutputFormat

SequenceFile.CompressionType 中可以有三种变体

BLOCK:将记录序列压缩到块中。

:不压缩记录。

记录:仅压缩值,每个值单独压缩。

在代码中键入更改。

Path outDir = new Path(WORK_DIR_PREFIX + "/out/" + jobName);
job.setOutputFormatClass(SequenceFileOutputFormat.class);
SequenceFileOutputFormat.setOutputPath(job, outDir);
SequenceFileOutputFormat.setOutputCompressionType(job, CompressionType.BLOCK);

看看SequenceFileOutputFormat的使用示例。

相关内容

  • 没有找到相关文章

最新更新