Hadoop映射器压缩输出不';不行?

Hadoop映射器压缩输出不';不行?,hadoop,mapreduce,compression,mapper,Hadoop,Mapreduce,Compression,Mapper,我使用的是hadoop cdh4.1.2,我的mapper程序几乎是输入数据的回声。但在我的工作状态页面上,我看到 FILE: Number of bytes written 3,040,552,298,327 几乎等于 FILE: Number of bytes read 3,363,917,397,416 对于地图绘制者,我已经设置了 conf.set("mapred.compress.map.output", "true"); 看来他们的压缩算法不适合我的工作?为什么会这样?你的工

我使用的是hadoop cdh4.1.2,我的mapper程序几乎是输入数据的回声。但在我的工作状态页面上,我看到

FILE: Number of bytes written  3,040,552,298,327
几乎等于

FILE: Number of bytes read 3,363,917,397,416
对于地图绘制者,我已经设置了

conf.set("mapred.compress.map.output", "true");

看来他们的压缩算法不适合我的工作?为什么会这样?

你的工作有减速机吗

如果是,请选中“减少随机字节数”。如果这远远小于(1/5左右)“映射输出字节数”,则可以假定映射输出已压缩。压缩发生在映射完成后,因此,它可能显示其输出的实际数据大小,而不是压缩大小


如果你仍然怀疑它是否有效,提交包含和不包含压缩的作业,并比较“Reduce shuffle bytes”。就映射输出压缩而言,“Reduce shuffle bytes”才是最重要的。

感谢map output bytes=3219090158272 Reduce shuffle bytes=1514030378633是否意味着默认压缩算法不适合我的数据(纯文本)看起来是这样。我从未使用过默认的编解码器。你能保留conf.set(“mapred.map.output.compression.codec”,“org.apache.hadoop.io.compress.SnappyCodec”)吗;再看看数字?如果您的发行版中有lzo,您可能还想试试它。