XY个人记
Phoenix是构建在HBase之上的关系型数据库层,Phoenix完全使用Java编写,作为HBase内嵌的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个HBase扫描,并编排执行以生成标准的JDBC结果集。直接使用HBase API、协同处理器与自定义过滤器,对于简单查询来说,其性能量级是毫秒,对于百万级别的行数来说,其性能量级是秒。
Phoenix环境搭建
1.解压Phoenix tar包
$ tar -zxf ../../software/apache-phoenix-4.12.0-HBase-1.2-bin.tar.gz
$ mv apache-phoenix-4.12.0-HBase-1.2-bin phoenix-4.12.0
2.将Phoenix下的两个jar拷贝到hbase的lib目录下
$ cp phoenix-4.12.0-HBase-1.2-client.jar ../hbase-1.2.1/lib/
$ cp phoenix-core-4.12.0-HBase-1.2.jar ../hbase-1.2.1/lib/
3.将hbase/conf下的hbase-site.xml文件拷贝到Phoenix/bin目录下
4.重启HBase
5.启动Phoenix
指定ZK的地址以及端口号,作为hbase的访问入口
$ bin/sqlline.py hadoop01.com:2181 #可以不加端口号
发现报错:缺少Python的依赖模块
Traceback (most recent call last):
File "bin/sqlline.py", line 27, in <module>
import argparse
ImportError: No module named argparse
解决办法:添加依赖模块即可
$ sudo yum -y install python-argparse
重新启动Phoenix即可,当我们再次进入HBase的时候发现多了一些Phoenix的表
Phoenix对表的操作
Phoenix中语句大多数类似mysql语句,但是没有show datab