如何压缩减速机输出我的意思是(整个MR输出)拉链。而不是" part0000.txt"喜欢" part0000.zip"

时间:2015-08-27 17:36:02

标签: java hadoop mapreduce

我是MR编码的新手,有人可以帮帮我吗? 如何压缩减速机输出我的意思是(整个MR输出)拉链。在JAVA; 而不是" part0000.txt"喜欢" part0000.zip"

2 个答案:

答案 0 :(得分:0)

您可以更好地配置mapreduce作业属性,将reducers的输出本身写为预压缩文件。

以下属性可帮助您完成此操作,

mapreduce.output.fileoutputformat.compress
mapreduce.output.fileoutputformat.compress.codec
mapreduce.output.fileoutputformat.compress.type

根据您选择的OutputFormat,您可以使用各种压缩编解码器和压缩类型。

答案 1 :(得分:0)

在Configuration实例中设置以下属性,如下所示。但是,当您运行我的作业时,reducer生成的输出将被压缩,文件生成的名称为:part-r-00000.gz。

conf.setBoolean("mapreduce.output.fileoutputformat.compress", true);
conf.set("mapreduce.output.fileoutputformat.compress.typemapreduce.output.fileoutputformat.compress.codec",   CompressionType.BLOCK.toString());
conf.setClass("mapred.output.compression.codec", GzipCodec.class, CompressionCodec.class);

有关详细信息,请按照mapred-default.xml

进行操作