Hbase壓縮文件

首先來點Hbase常用命令:

查看所有表:list
查看錶結構 describe 'stu'

統計條數:
count 'stu', INTERVAL => 100000
hbase   org.apache.hadoop.hbase.mapreduce.RowCounter 'stu'

清空表:truncate 'stu'

刪除表:
disable 'int_s6a'
drop 'int_s6a'
exists 'int_s6a'	驗證表是否存在

用正則表達式刪表
disable_all 'int_*'
drop_all 'int_*'

disable 'IDX_STU'
drop 'IDX_STU'
exists 'IDX_STU'

我使用的是Hbase1.24,默認有三種文件存儲格式NONE 、GZ、 LZ4

hbase表默認存儲位置在hdfs:///hbase/data/default

查看錶未壓縮的文件大小:

hdfs dfs -du -h /hbase/data/default
298.5 M  298.5 M  /hbase/data/default/stu

修改壓縮格式:

1.	disable 'stu'	
2.	alter 'stu', NAME => 'cf1', COMPRESSION => 'snappy'	需要手動安裝snappy
	alter 'stu', NAME => 'cf1', COMPRESSION => 'LZO'	需要手動安裝lzo
	
	NONE GZ LZ4可以使用,隨便選一個壓縮算法執行
	alter 'stu', NAME => 'cf1', COMPRESSION => 'NONE'
	alter 'stu', NAME => 'cf2', COMPRESSION => 'NONE'
	
	alter 'stu', NAME => 'cf1', COMPRESSION => 'gz'
	alter 'stu', NAME => 'cf2', COMPRESSION => 'gz'	
	
	alter 'stu', NAME => 'cf1', COMPRESSION => 'LZ4'
	alter 'stu', NAME => 'cf2', COMPRESSION => 'LZ4'
        注意:列簇名必須是已經存在的且要寫正確,否則會新建一個列簇
3.	enable 'stu'	enable表後,HBase表的壓縮格式並沒有生效,還需要一個動作
4.	major_compact 'stu'
5.	describe 'stu'	查看壓縮格式是否修改成功
只需要這5步之後可完成壓縮,stu表壓縮之後只有162.4 M

而且經過測試:

NONE GZ LZ4三者中LZ4算法最好,可以節省空間和提高速度

最後提一句:如果使用Phoenix創建索引(索引本質也是一張表),也可以執行壓縮格式可以節省空間和提高速度:

phoenix sql創建壓縮索引表:

create index "idx_stu" on "stu"("cf1"."name") compression='LZ4'; 

----end---


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章