Phonenix是简化hbase的sql的工具,在linux的命令行实现sql简化
1.下载phonenix(注意:需要下载对应hbase的版本)
下载地址http://mirrors.cnnic.cn/apache/phoenix/
下载hbase相应的版本的phonenix
2.解压
解压相应的包 ,比如phoenix-4.6.0-HBase-0.98-bin.tar.gz
将解压后的包里的phoenix-core-4.6.0-HBase-0.98.jar拷贝到集群各个节点HBase的lib目录下,这里的包看版本了,记住前缀是phoenix-core的包,如果这里有phonenix旧的包需要先删掉
将此包复制到其他两(h16,h17)个hbase目录下
#scp phoenix-core-4.6.0-HBase-0.98.jar root@h15:/home/hbase-0.98/lib/
#scp phoenix-core-4.6.0-HBase-0.98.jar root@h16:/home/hbase-0.98/lib/
#scp phoenix-core-4.6.0-HBase-0.98.jar root@h17:/home/hbase-0.98/lib/
3.重启集群
在h15上重启hbase集群
#sh stop-hbase.sh
#sh start-hbase.sh
4.启动phonenix
进入到解压好的phonenix目录下执行命令:
# bin/sqlline.py h15:2181
这里的master是zookeeper集群的节点的hostname,不建议使用ip
如果端口是2181,端口也可以省略
进入如下界面,说明成功了
执行命令#!tables出现如下界面
5\在h15上建表
#CREATE TABLE my_table ( id INTEGER not null primary key desc, date DATE, m.db_utilization DECIMAL, i.db_utilization DECIMAL);
创建序列:create sequence t_seq;
插入数据:
#UPSERT INTO my_tableVALUES(1,'2015-09-10 12:23:00');
#UPSERT INTO my_table VALUES(3,'2015-09-10 12:23:00');
#UPSERT INTO my_table VALUES(4,'2015-09-10 12:23:00');
#UPSERT INTO my_table VALUES(5,'2015-09-10 12:23:00');
#UPSERT INTO my_table VALUES(6,'2015-09-10 12:23:00');
#UPSERT INTO my_table VALUES(7,'2015-09-10 12:23:00');
#UPSERT INTO my_table VALUES(8,'2015-09-10 12:23:00');
查询数据
#select * from my_table order by id asc ;
插入数据:准备java测试
CREATE TABLE TMP_TRAVEL (ROWKEY VARCHAR PRIMARY KEY,INFO.SP VARCHAR,INFO.EP VARCHAR,INFO.ST VARCHAR,INFO.ET VARCHAR);
CREATE SEQUENCE SEQ;
CREATE TABLE TRAVEL (ROWKEY VARCHAR PRIMARY KEY,INFO.SP VARCHAR,INFO.EP VARCHAR,INFO.ST VARCHAR,INFO.ET VARCHAR,PAGEID BIGINT);
UPSERT INTO TRAVEL SELECT ROWKEY,SP,EP,ST,ET,NEXT VALUE FOR SEQ FROM TMP_TRAVEL;
UPSERT INTO TMP_TRAVEL VALUES('16357298756_20160201112343','北京','海淀区','20160203');
UPSERT INTO TMP_TRAVEL VALUES('16357298756_20160202112343','北京','海淀区','20160203');
UPSERT INTO TMP_TRAVEL VALUES('16357298756_20160203112343','北京','海淀区','20160203');
UPSERT INTO TMP_TRAVEL VALUES('16357298756_20160204112343','北京','海淀区','20160203');
UPSERT INTO TMP_TRAVEL VALUES('16357298756_20160205112343','北京','海淀区','20160203');
UPSERT INTO TMP_TRAVEL VALUES('16357298756_20160206112343','北京','海淀区','20160203');
UPSERT INTO TMP_TRAVEL VALUES('16357298756_20160207112343','北京','海淀区','20160203');
UPSERT INTO TMP_TRAVEL VALUES('16357298756_20160208112343','北京','海淀区','20160203');
UPSERT INTO TMP_TRAVEL VALUES('16357298756_20160209112343','北京','海淀区','20160203');
UPSERT INTO TMP_TRAVEL VALUES('16357298756_20160210112343','北京','海淀区','20160203');
如果都是正常,那么通过!