前面介绍过通过Phoenix操作HBase,实现了hbase的SQL语义,以及查询性能的提升,也对比过使用hive查hbase和使用phoenix查hbase的性能,也介绍了如何在hive中查询ES,那么今天我们就尝试在hive中查phoenix。也就是hbase-->Phoenix-->hive这样的链路。
相关内容:
CDH5.14集群下Phoenix4.14.0安装及性能对比phoenix/impala/hive
CDH6.2中使用parcel离线安装Phoenix5.0.0
ELK系列(十三)、在Hive中操作ES的索引数据,创建/查询/更新/插入
-------------------------------在hive中操作Phoenix表--------------------------------------
环境
CDH-6.3.1
Hive-2.1.1
Phoenix-5.0.0
Hbase-2.1.0
hive集成phoenix仅支持hive使用mapreduce,tez引擎,不支持spark引擎;
如果启用了kerberos,需要使用同时有hive和hbase权限的用户;
依赖
需要在hive中添加phoenix的jar包依赖,下面的命令是在hive命令行里session级别生效的,如果想全局生效可参考上面的hive操作ES的文章里的内容。phoenix-version-hive.jar包可以在$PHOENIX_HOME/lib下找到。
add jar /home/tools/wyk/phoenix-5.0.0-cdh6.2.0-hive.jar;
验证
在hive中建phoenix内表
在hive中创建Phoenix内部表,hive会管理结构和数据,会自动在phoenix建表,删除hive表的时候对应的Phoenix