phoenix 一些东西(1)


如果集群不允许Eclipse远程连接,则jdbc的测试需要打包后丢到集群上:

java-Djava.ext.dirs=/home/hbase/hbase-0.94.14/lib/:/home/hbase/hbase-0.94.14/ -jar PhoenixCRUD.jar

 

Phoenix 的创建表,索引,查询基本没什么可说,测试了下,百万级数据的聚合查询,建索引比不建索引查询时间能提高一倍以上。

官网的sql语法结构说明跟Oracle官方文档的类似。

 

关于phoenix的动态列:

例如有官网上描述的业务需求,创建表时只给了事件字段,但事件的具体属性由于事件的不同而不同,因此事件的属性需要创建phoenix的动态列,

创建表:

CREATE TABLEEventLog (

    eventId BIGINT NOT NULL,

    eventTime TIME NOT NULL,

    eventType CHAR(3) NOT NULL

    CONSTRAINT pk PRIMARY KEY (eventId,eventTime))

   

然后在插入表时:

   

upsert intotablename(eventid,eventtime,eventtype,status1 varchar)values(1,date,'001','s1');

 

那么在查询时就可以这样查询:

 

selecteventid,status1 from tablename(status1 varchar)

 

hbase shellscan一下表,会看到status1 是作为hbase的一个列插进表里了。

但在phoenix端做select * from tablename ,不会看到status1。要同过上面那种格式的查询才能看到。

 

关于phoenix源码构建成Eclipse项目比较简单:

直接在Eclipse导入maven项目即可,不像hadoophbase需要在linux环境构建。

或者:

mvn eclipse:eclipse-DskipTests -X

构建完项目有个类还有错误,还要安装个antler phoenix sql解析器,直接在core项目上运行即可:

mvn install-DskipTests


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值