您的位置:首页 > 移动开发

Hive-Snappy压缩格式设置与规范

2015-05-09 20:50 1506 查看

Author: FuRenjie



1、Hive启动输出压缩

在hive中先检查hive的输出压缩是否启动(默认为false),设置为true:
set hive.exec.compress.output=true;

2、主流压缩格式比较

以下是Google几年前发布的一组测试数据(数据有些老了,有人近期做过测试的话希望能共享出来):
Algorithm
% remaining
Encoding
Decoding
GZIP
13.4%
21 MB/s
118 MB/s
LZO
20.5%
135 MB/s
410 MB/s
Zippy/Snappy
22.2%
172 MB/s
409 MB/s
注:来自《HBase: The Definitive Guide》
其中:
1)GZIP的压缩率最高,但是其是CPU密集型的,对CPU的消耗比其他算法要多,压缩和解压速度也慢;
2)LZO的压缩率居中,比GZIP要低一些,但是压缩和解压速度明显要比GZIP快很多,其中解压速度快的更多;
3)Zippy/Snappy的压缩率最低,而压缩和解压速度要稍微比LZO要快一些。

综合考虑,选择Snappy压缩,在Hadoop(2.0)配置目录下的mapred-site.xml中做如下配置:
Snappy压缩格式
<!--

For Snappy

-->

<property>

<name>mapreduce.map.output.compress</name>

<value>true</value>

</property>

<property>

<name>mapred.map.output.compress.codec</name>

<value>org.apache.hadoop.io.compress.SnappyCodec</value>

<description>

The Compress Format of MapReduceMiddle Result.

</description>

</property>

<property>

<name>mapreduce.output.fileoutputformat.compress</name>

<value>true</value>

</property>

<property>

<name>mapreduce.output.fileoutputformat.compress.codec</name>

<value>org.apache.hadoop.io.compress.SnappyCodec</value>

<description>

The Compress Format of MapReduceResult.

</description>

</property>

<property>

<name>mapreduce.output.fileoutputformat.compress.type</name>

<value>BLOCK</value>

</property>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: