Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果我使用org.apache.Hadoop.MapReduce(新)API,如何配置Hadoop MapReduce映射器输出压缩?_Java_Hadoop_Mapreduce_Compression_Mapper - Fatal编程技术网

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

Java 如果我使用org.apache.Hadoop.MapReduce(新)API,如何配置Hadoop MapReduce映射器输出压缩?,java,hadoop,mapreduce,compression,mapper,Java,Hadoop,Mapreduce,Compression,Mapper,是否可以在新的mapreduceAPI上打开映射器输出压缩?如果可以,请指出如何打开?我看到很多这样做的例子都是基于hadoop.mapred.JobConfAPI的,但是没有一个是基于mapreduceAPI的 如果无法通过newAPI对其进行配置,我可以采取措施使其工作吗?您可以使用以下代码启用地图输出压缩: public static void enableMapOutputCompress(Job job) { job.getConfiguration().setBoolean(

是否可以在新的
mapreduce
API上打开映射器输出压缩?如果可以,请指出如何打开?我看到很多这样做的例子都是基于
hadoop.mapred.JobConf
API的,但是没有一个是基于
mapreduce
API的


如果无法通过
new
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.gzicodec
org.apache.hadoop.io.compress.LzoCodec


我建议使用SnappyCodec。

另外,感谢指向snappy codec的链接。碰巧对减速机输出非常有效。映射器输出压缩几乎未通过“是否值得”检查。