TeRiTeRi

  1. 首页
  2. 大数据
  3. Hadoop
  4. 正文

MapReduce开启压缩算法对结果进行压缩

2019年11月18日 1567点热度 2人点赞 0条评论

 

方法①:在代码中进行压缩设置

map阶段中添加

Configuration configuration = new Configuration();
configuration.set("mapreduce.map.output.compress","true");
configuration.set("mapreduce.map.output.compress.codec","org.apache.hadoop.io.compress.SnappyCodec");

reduce阶段中添加

configuration.set("mapreduce.output.fileoutputformat.compress","true");
configuration.set("mapreduce.output.fileoutputformat.compress.type","RECORD");
configuration.set("mapreduce.output.fileoutputformat.compress.codec","org.apache.hadoop.io.compress.SnappyCodec"); 

方法②:全局MapReduce压缩配置

修改配置文件mapred-site.xml

[warningbox title="map输出数据进行压缩"]

<property>
          <name>mapreduce.map.output.compress</name>
          <value>true</value>
</property>
<property>
         <name>mapreduce.map.output.compress.codec</name>
         <value>org.apache.hadoop.io.compress.SnappyCodec</value>
</property>

[/warningbox]

[warningbox title="reduce输出数据进行压缩"]

<property>       
    <name>mapreduce.output.fileoutputformat.compress</name>
     <value>true</value>
</property>
<property>         
     <name>mapreduce.output.fileoutputformat.compress.type</name>
     <value>RECORD</value>
</property>
 <property>        
      <name>mapreduce.output.fileoutputformat.compress.codec</name>
      <value>org.apache.hadoop.io.compress.SnappyCodec</value> 
</property>

[/warningbox]

修改完毕后重启集群

hadoop支持的压缩算法

压缩格式 工具 算法 文件扩展名 是否可切分
DEFLATE 无 DEFLATE .deflate 否
Gzip gzip DEFLATE .gz 否
bzip2 bzip2 bzip2 .bz2 是
LZO lzop LZO .lzo 否
LZ4 无 LZ4 .lz4 否
Snappy 无 Snappy .snappy 否

标签: centos Hadoop Java linux
最后更新:2019年11月18日

kamisamak

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2023 TeRiTeRi. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang