Phoenix(SQL on HBase)

参考

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是不是很爽~_~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值