Hadoop集群中添加Snappy解压缩库
来源:互联网 发布:线性映射的矩阵表示 编辑:程序博客网 时间:2024/05/16 08:10
Snappy是用C++开发的压缩和解压缩开发包,旨在提供高速压缩速度和合理的压缩率。Snappy比zlib更快,但文件相对要大20%到100%。在64位模式的Core i7处理器上,可达每秒250~500兆的压缩速度。
Snappy的前身是Zippy。虽然只是一个数据压缩库,它却被Google用于许多内部项目程,其中就包括BigTable,MapReduce和RPC。Google宣称它在这个库本身及其算法做了数据处理速度上的优化,作为代价,并没有考虑输出大小以及和其他类似工具的兼容性问题。Snappy特地为64位x86处理器做了优化,在单个Intel Core i7处理器内核上能够达到至少每秒250MB的压缩速率和每秒500MB的解压速率。
如果允许损失一些压缩率的话,那么可以达到更高的压缩速度,虽然生成的压缩文件可能会比其他库的要大上20%至100%,但是,相比其他的压缩库,Snappy却能够在特定的压缩率下拥有惊人的压缩速度,“压缩普通文本文件的速度是其他库的1.5-1.7倍,HTML能达到2-4倍,但是对于JPEG、PNG以及其他的已压缩的数据,压缩速度不会有明显改善”。
安装snappy
yum install snappy snappy-devel
hadoop环境增加 snappp.so文件
ln -sf /usr/lib64/libsnappy.so $HADOOP_HOME/lib/native/.
在$HADOOP_HOME/etc/hadoop/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>
下面是配置在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>
重新启动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");
0 0
- Hadoop集群中添加Snappy解压缩库
- hadoop添加snappy解压缩库
- Hadoop集群中添加硬盘
- hadoop集群中添加kerberos认证
- Hadoop集群中添加或删除节点
- hadoop集群添加节点
- Cloudera Hadoop集群添加
- Hadoop压缩-SNAPPY算法
- Hadoop压缩算法snappy
- hadoop 压缩-snappy
- Hadoop 安装Snappy
- 在Hadoop集群中添加机器和删除机器
- Hadoop集群中添加机器和删除机器
- 在Hadoop集群中添加机器和删除机器
- 为hadoop集群中单个datanode添加硬盘
- 编译Hadoop并给HBase应用Snappy本地库
- hadoop集群添加删除节点
- Hadoop集群添加磁盘步骤
- [渗透测试] 工具简介
- iOS--持续存储-简介
- Gdi+与双缓冲的图片显示(应用篇)
- hibernate SQLQuery addEntity
- MySQL 使用方法简单教程
- Hadoop集群中添加Snappy解压缩库
- onMeasure、onLayout以及onSizeChanged方法的回调时机和回调顺序
- 启辉器工作原理
- NSMutableArray – 在开始阶段添加阵列
- 新型的按键扫描程序,仅三行程序
- sublime配置python运行环境
- Android中常用mimeType表
- 牛X素材推荐之MaterialTextField
- 告诉你Hadoop是什么