设为首页 加入收藏

TOP

hadoop添加snappy解压缩库
2019-04-18 00:37:07 】 浏览:50
Tags:hadoop 添加 snappy 压缩
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012689336/article/details/54286757

Snappy是用C++开发的压缩和解压缩开发包,旨在提供高速压缩速度和合理的压缩率。

虽然生成的压缩文件可能会比其他压缩库的要大上20%至100%,但是,相比其他的压缩库,Snappy却能够在特定的压缩率下拥有惊人的压缩速度。

也就是说用空间换取速度

1、安装snappy

yum install snappy snappy-devel

2、给hadoop环境增加 snappp.so文件

ln -sf /usr/lib64/libsnappy.so $HADOOP_HOME/lib/native/.

3、添加配置

在core-site.xml文件中加入snappy配置
<property>
<name>io.compression.codecs</name>
<value>
org.apache.hadoop.io.compress.GzipCodec,
org.apache.hadoop.io.compress.DefaultCodec,
org.apache.hadoop.io.compress.BZip2Codec,
org.apache.hadoop.io.compress.SnappyCodec
</value>
</property>


4、如果map的输出启用snappy压缩
<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>

5、重新启动hadoop,使得上面的配置生效。


如果你要在Mapreduce程序里面使用Snappy相关类库,可以用下面的方法实现
Configuration conf = new Configuration();
//对map输出的内容进行压缩
conf.set("mapred.compress.map.output","true");
conf.set("mapred.map.output.compression.codec","org.apache.hadoop.io.compress.SnappyCodec");

//对reduce输出的内容进行压缩
conf.set("mapred.output.compress","true");
conf.set("mapred.output.compression","org.apache.hadoop.io.compress.SnappyCodec");


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇hadoop集群中一些默认的端口和配.. 下一篇Hadoop介绍--Hadoop的家族

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目