http://phoenix.apache.org/Phoenix-in-15-minutes-or-less.html
简单科普一下Phoenix其实就是SQL on HBase,也就是说我们可以使用简单的SQL来操作HBase,类比SQL on Hadoop的Hive。然后我们就快速体验一下官方的入门案例,我这里已经有了HBase的集群,所以HBase的安装略过,以下只针对Phoenix的安装进行说明
源码包编译详见我的另外两篇博客:
HBase源码编译:https://blog.csdn.net/DataIntel_XiAn/article/details/99874230
Phoenix源码编译:https://blog.csdn.net/DataIntel_XiAn/article/details/99975943
上传编译好的tar包解压,然后配置环境变量
export PHOENIX_HOME=/home/hadoop/apache-phoenix-4.10.0
PATH=$PATH:$PHOENIX_HOME/bin
从Phoenix编译后的安装包中复制以下三个Jar包到HBase的lib下
phoenix-4.10.0-HBase-1.2-server.jar
phoenix-core-4.10.0-HBase-1.2.jar
phoenix-4.10.0-HBase-1.2-client.jar
重启HBase并通过【sqlline.py】连接到Phoenix【看到如下界面就表示成功连接到HBase】
接下来我们实际操作一下官方给出的案例,首先,让我们创建一个包含表定义的us_population.sql文件
CREATE TABLE IF NOT EXISTS us_population (
state CHAR(2) NOT NULL,
city VARCHAR NOT NULL,
population BIGINT
CONSTRAINT my_pk PRIMARY KEY (state, city)
);
现在让我们创建一个us_population.csv文件,其中包含要放入该表的一些数据
NY,New York,8143197
CA,Los Angeles,3844829
IL,Chicago,2842518
TX,Houston,2016582
PA,Philadelphia,1463281
AZ,Phoenix,1461575
TX,San Antonio,1256509
CA,San Diego,1255540
TX,Dallas,1213825
CA,San Jose,912332
最后,让我们创建一个包含我们想要在该数据上运行的查询的us_population_queries.sql文件
SELECT state as "State",count(city) as "City Count",sum(population) as "Population Sum"
FROM us_population
GROUP BY state
ORDER BY sum(population) DESC;
从命令终端执行以下命令
psql.py hadoop:2181 us_population.sql us_population.csv us_population_queries.sql
至此,我们就大功告成了!
然后我们进入Phoenix用SQL查询再来验证一下
最后我们再去HBase中验证一下是否存在这张表,这样操作HBase是不是很爽~_~