HBase-表的压缩

发布时间 2023-10-17 16:18:03作者: 业余砖家

一、如何选择压缩算法以及Block Encoding Type?
(1)如果Key很长,或者有很多Column,那么推荐使用FAST_DIFF。
(2)如果数据是冷数据,不经常被访问,那么使用GZIP压缩格式。因为虽然它比Snappy/LZO需要占用更多而CPU,但是它的压缩比率更高,更节省磁盘。
(3)如果是热点数据,那么使用Snappy/LZO压缩格式。它们相比GZIP,占用的CPU更少。
(4)在大多数情况下,Snappy/LZO的选择都更好。Snappy比LZO更好。

二、在HBase中如何设置SNAPPY压缩。

升级到hbase2.5.1以及以上版本,并修改修改或者添加配置。

hbase.io.compress.snappy.codec配置的值为org.apache.hadoop.hbase.io.compress.xerial.SnappyCodec可以解决。

(1)打开HBase配置文件 hbase-site.xml

vi  $HBASE_HOME/conf/hbase-site.xml

(2)添加以下配置项到hbase-site.xml文件中
<property>
<name>hbase.io.compress.snappy.codec</name>
<value>org.apache.hadoop.hbase.io.compress.xerial.SnappyCodec</value>
</property>
(3)重启HBase。

$HBASE_HOME/bin/stop-hbase.sh ;

$HBASE_HOME/bin/start-hbase.sh ;