java-如果我使用org.apache.hadoop.mapreduce(新)API,如何配置Hadoop MapReduce映射器输出压缩?

是否可以在新的mapreduce API上打开mapper输出压缩,如果可以,请指出如何?我看到很多基于hadoop.mapred.JobConf API的示例,但没有一个针对mapreduce API的示例.

如果无法通过新的API配置它,我可以做些事情使其正常工作吗?

解决方法:

您可以使用以下代码来启用地图输出压缩:

public static void enableMapOutputCompress(Job job) {
    job.getConfiguration().setBoolean("mapred.compress.map.output", true);
    job.getConfiguration().setClass("mapred.map.output.compression.codec",
            SnappyCodec.class, CompressionCodec.class);
}

您可以将org.apache.hadoop.io.compress.SnappyCodec更改为其他压缩类,例如:org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.LzoCodec.

我建议使用SnappyCodec.

上一篇:C#-将两个单向流合并为一个双向流


下一篇:Java-Android-在一部手机上压缩位图的速度非常慢,在另一部手机上的压缩速度非常快