hbase优化之region合并和压缩

HBASE操作:(一般先合并region然后再压缩)

一 、Region合并: merge_region   'regionname1','regionname2' ,'true'  --true代表强制合并,一般要加上

一般要是将小文件根据配置的最大上限进行合并,合并后最好清理一下hdfs

二、Region 压缩:

我们以test表为例:


我们先创建一张不含任何压缩格式的test表,并且向其导入10多G的数据
$ hadoop fs -du -h /hbase/data/default/    --查询region的文件大小
12.2 G /hbase/data/default/test


我们可以看到,在未压缩之前,test表的数据在hdfs上一共占用了12.2G的磁盘空间。
1. disable test表:


hbase> disable 'test'

修改压缩格式:

2. hbase> alter 'test', NAME => 'c', COMPRESSION => 'snappy'
需要注意的是,修改压缩格式时,必须一个列族一个列族的改。


3. enable test表:

hbase> enable 'test'

enable之后,还需要做一次大合并才能让压缩格式生效:

4.  hbase> major_compact 'test'
需要注意的是,千万不要在表繁忙期间执行大合并操作。
describe test表看一下有没有生效

 

还是很可观的大概可以减少原来两倍左右的空间占用

      

posted @ 2018-03-01 14:34  老冯谈BigData  阅读(3252)  评论(0编辑  收藏  举报