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表看一下有沒有生效
還是很可觀的大概可以減少原來兩倍左右的空間占用
