phoenix 一点了解


hbase 0.94版本支持按一个cf一个columnsum聚合

hbase0.96开始取消了对应类,可以配合phoenix使用实现相应功能。

 

phoenix2,3支持hbase0.94

2.1版本以后支持可变数据的索引。

 

1、使用shell 命令行操作sql

2、使用java api (jdbc操作,唯一不同点是协议:jdbc:phoenix)

3、批量加载进phoenix

    ①使mapreduce,适合大数量级,写HFile,例:hadoop jarphoenix-3.0.0-incubating-client.jarorg.apache.phoenix.mapreduce.CsvBulkLoadTool --table EXAMPLE --input/data/example.csv

      非主键列要明确指定cf。不支持索引的迁移,如果创建了表的索引,不用此方案。

    ②使用内建程序psql  例:psql.py[zookeeper] ../examples/web_stat.sql(建表语句)  psql.py [zookeeper] ../examples/web_stat.csv(导入数据)

      非分布式,适合G数量级

4phoenix优化技巧:

   CREATE TABLE TEST (HOST VARCHAR NOT NULL PRIMARY KEY,DESCRIPTION VARCHAR) SALT_BUCKETS=16

   如果是16regionserver 4核,可设置成32-64

   Per-split。精确控制splitCREATE TABLE TEST (HOST VARCHAR NOT NULL PRIMARY KEY, DESCRIPTIONVARCHAR) SPLIT ON ('CS','EU','NA')

   ③使用多个cf。不相关的列分开。

   ④使用压缩。CREATETABLE TEST (HOST VARCHAR NOT NULL PRIMARY KEY, DESCRIPTION VARCHAR)COMPRESSION='GZ

   建索引

   化集群参数

   phoenix

5phoenix查询的列要建了索引或是覆盖列才会走索引扫描。

6phoenix快的原因:Phoenixchunks up your query using the region boundaries and runs them in parallel onthe client using a configurable number of threads

                    The aggregation will bedone in a coprocessor on the server-side, collapsing the amount of data thatgets returned back to the client rather than returning it all  

7、自己制定timestampprops.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB,Long.toString(ts));

8、查询的条件如果不是引导主键,不会走范围扫描。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值