1.Phoenix创建盐表
官网地址:http://phoenix.apache.org/salted.html
创建一个盐表:
CREATE TABLE test.test_salt
(id VARCHAR PRIMARY KEY,
name VARCHAR, a
ge INTEGER,
address VARCHAR)
SALT_BUCKETS = 20;
创建后,Region Count = 20
如果通过Hbase的console创建,语句为(注意大小写)
create 'TEST:TEST_SALT2', 'f1', SPLITS => ['10', '20', '30', '40']
Region Count = 5
默认情况下,对salted table创建二级索引,二级索引表会随同源表切进行Salted切分,SALT_BUCKETS与源表保持一致。当然,在创建二级索引表的时候也可以自定义SALT_BUCKETS的数量,phoenix没有强制它的数量必须跟源表保持一致。按照开发经验,在phoenix中,SALT_BUCKETS 设置的数量与HBase的 region保持一致。
2.盐表的基础知识
Phoenix Salted Table是phoenix为了防止hbase表rowkey设计为自增序列而引发热点region读和热点region写而采取的一种表设计手段。通过在创建表的时候指定SALT_BUCKETS来实现pre-split(预分割)。如下表示创建表的时候将表预分割到20个region里面。