Apache Phoenix 使用小记
- phoenix建表语句
在hbase的中namespace为bigdata中创建一个user表,将id和createTime作为主键ROWKEY,对边进行加盐分为10个Region,对数据进行压缩存储使用snappy的压缩方式
rowkey |
id |
name |
age |
phone |
birthday |
createTime |
type |
加盐码,1,2018-08-20 |
1 |
tom |
23 |
135862***** |
1997-01-31 |
2018-08-20 |
好人 |
CREATE TABLE IF NOT EXISTS BIGDATA.USER
(
ID UNSIGNED_INT NOT NULL,
F1.NAME VARCHAR,
F1.AGE UNSIGNED_INT,
F1.PHONE VARCHAR,
F1.BIRTHDAY VARCHAR,
CREATETIME VARCHAR,
TYPE VARCHAR
CONSTRAINT ID_CREATETIME PRIMARY KEY (ID,CREATETIME)
)
SALT_BUCKETS = 10,compression='snappy'
注意:
1.PRIMARY KEY 后面的字段顺序必须和匹配表的字段声名顺序,否则会报异常
例如:PRIMARY KEY (CREATETIME,ID)这样就会报异常
2.做主键的列不能指定列簇
- phoenix创建索引
假设上面user表只有对id作为主键,我们要为user表创建二级索引,索引字段为birthday,createTime,并将name,phone字段带到索引表中,对标进行加盐分为10个region,使用snappy压缩存储。
CREATE INDEX USER_INDEX ON BIGDATA.USER
(
BIRTHDAY,
CREATETIME
)
INCLUDE
(
NAME