Mar*_*cin 25 compression hadoop hdfs
我有一个map-reduce java程序,我尝试只压缩mapper输出但不压缩reducer输出.我认为这可以通过在Configuration实例中设置以下属性来实现,如下所示.但是,当我运行我的作业时,reducer生成的输出仍然被压缩,因为生成的文件是:part-r-00000.gz.有没有人成功地压缩了映射器数据而不是缩减器?这甚至可能吗?
//压缩映射器输出
conf.setBoolean("mapred.output.compress", true);
conf.set("mapred.output.compression.type", CompressionType.BLOCK.toString());
conf.setClass("mapred.output.compression.codec", GzipCodec.class, CompressionCodec.class);
Run Code Online (Sandbox Code Playgroud)
小智 54
mapred.compress.map.output:映射器和reducer之间的数据压缩.如果使用snappy编解码器,这很可能会提高读写速度并降低网络开销.不要担心随地吐痰.这些文件不存储在hdfs中.它们是仅存在于map reduce作业的临时文件.
mapred.map.output.compression.codec:我会用snappy
mapred.output.compress:这个布尔标志将定义是整个map/reduce作业将输出压缩数据.我也总是把它设置为真.更快的读/写速度和更少的磁盘间隔使用.
mapred.output.compression.type:我用块.这将使压缩可分裂甚至对所有的压缩格式(gzip的,活泼的,和bzip2)只要确保你使用像序列,RCFile,或Avro的一个splitable文件格式.
mapred.output.compression.codec:这是map/reduce作业的压缩编解码器.我主要使用以下三种中的一种:Snappy(最快r/w 2x-3x压缩),gzip(正常快速w 5x-8x压缩),bzip2(慢速r/w 8x-12x压缩)
还记得压缩映射输出时,因为拆分压缩会因排序顺序而异.像数据一样接近,压缩效果越好.
fen*_*yun 21
有了MR2,现在我们应该设置
conf.set("mapreduce.map.output.compress", true)
conf.set("mapreduce.output.fileoutputformat.compress", false)
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅:http://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml
vpk*_*vpk 12
"输出压缩"将压缩您的最终输出.要仅压缩地图输出,请使用以下内容:
conf.set("mapred.compress.map.output", "true")
conf.set("mapred.output.compression.type", "BLOCK");
conf.set("mapred.map.output.compression.codec", "org.apache.hadoop.io.compress.GzipCodec");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45050 次 |
| 最近记录: |