一、什么是Phoenix
构建在Apache HBase之上的一个SQL中间层
可以在Apache HBase上执行SQL查询,性能强劲
较完善的查询支持,支持二级索引,查询效率较高
二、Phoenix优势
Put the SQL back in NoSQL,程序员熟知SQL语句
具有完整ACID事务功能的标准SQL和JDBC API的强大功能
完全可以和其他Hadoop产品例如Spark、Hive、Pig、Flume以反MapReduce集成
三、性能对比
如图:
四、性能
通过HBase协处理器,在服务端进行操作,从而最大限度的减少客户端和服务器的数据传输
通过定制的过滤器对数据进行处理
使用本地的HBase Api而不是通过MapReduce框架,这样能最大限度的降低启动成本
五、Phoenix功能特性
多租户
二级索引
用户定义函数
行时间戳列
分页查询
视图
六、Phoenix安装
1、下载对应版本的安装包
https://archive.apache.org/dist/phoenix/
如图:
将apache-phoenix-4.13.1-HBase-1.2-bin.tar.gz 上传到
/usr/local/hadoop 并解压 tar -zxvf apache-phoenix-4.13.1-HBase-1.2-bin.tar.gz
如图:
2、配置与现有HBase集群集成
将apache-phoenix-4.13.1-HBase-1.2-bin目录下phoenix-core-4.13.1-HBase-1.2.jar拷贝到/usr/local/hadoop/hbase-1.2.4/lib
cp phoenix-core-4.13.1-HBase-1.2.jar /usr/local/hadoop/hbase-1.2.4/lib
将apache-phoenix-4.13.1-HBase-1.2-bin目录下phoenix-4.13.1-HBase-1.2-server.jar拷贝到/usr/local/hadoop/hbase-1.2.4/lib
cp phoenix-4.13.1-HBase-1.2-server.jar /usr/local/hadoop/hbase-1.2.4/lib
3、重新启动HBase环境,并测试环境是否可以正常使用
然后重启hbase
cd /usr/local/hadoop/hbase-1.2.4/bin
./stop-hbase.sh
./start-hbase.sh
如图:
cd /usr/local/hadoop/apache-phoenix-4.13.1-HBase-1.2-bin/bin 进入到phoenix目录下的bin目录下
执行 ./sqlline.py
如图:
sqlline就相当于phoenix的一个客户端
执行help 查询帮助
如图 :
执行:!table 查询所有的表
如图: