HBase表预分区与压缩

1.建立HBase预分区表。sql语句如下:

create 'buyer_calllogs_info_ts', 'record', {SPLITS_FILE => 'hbase_calllogs_splits.txt'}

或者

create 't1','f1' ,SPLITS=>['10','20','30','40']

分区文件格式如下:

00|
10|
20|
30|
40|
50|
60|
70|

优点:合理设计rowkey 能让各个region 的并发请求 平均分配(趋于均匀) 使IO 效率达到最高

2.如果在建表之后没有设置压缩而数据量又很大怎么办。

①disable 'test'

②alter 'test', NAME => 'c', COMPRESSION => 'snappy' 也可以修改version。alter 'test',{NAME=>'f1',VERSIONS=>3}

③enable 'test'

④major_compact 'test'

⑤describe 'test'

查看是否设置成功,不要再HBase繁忙的时候进行合并,尽量在空闲的时候合并。

原文地址:https://www.cnblogs.com/ChouYarn/p/7986922.html