历史版本3 :Apache Phoenix数据连接 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1、描述编辑

Apache Phoenix通过结合联机事务处理和hadoop运行分析平台的完美结合来针对低延迟应用程序,它支持标准SQL和有包含事务的原子性、隔离性、一致性、持久性的JDBC API的能力,并且后期绑定灵活,基于NoSQL世界的读时模式,以HBase作为后台存储。本章我们将介绍如何在FineBI中连接Apache Phoenix数据库。

2、数据连接编辑

2.1 配置信息
驱动  URL  
  org.apache.phoenix.jdbc.PhoenixDriver  jdbc:phoenix:ip:port/dbname

2.2 连接步骤

下载Apache Phoenix的驱动包,并将该驱动包放置到FineBI文件夹%FineBI%\webapps\webroot\WEB-INF\lib下,重启服务器。

登录FineBI数据决策系统,选择管理系统>数据连接,点击“新建数据连接”选择更多数据连接,并在弹出框中选择Apache Phoenix,如下图:

点击确认进入数据连接配置页面,按照前面提供的配置信息,输入自身数据库的对应信息,可选择勾选kerberos认证。若勾选kerberos认证,则需填入注册过kdc的客户端名称、keytab密钥路径和Kerberos认证对应URL,参考数据连接Kerberos认证,如下图:

若不勾选kerberos认证,则跟其他数据库设置一致,选择填入编码转换和连接池属性信息即可(编码转换和连接池属性介绍可参考配置数据连接),如下图:

点击第二步“测试连接”,若测试连接成功则表示成功连接上数据库。

测试连接成功后才可以选择模式,根据需求选择对应模式,若不进行选择,则默认为第一个模式。

模式选择后点击“保存”该数据连接即添加成功。

3、注意事项编辑

注意事项:

1、A join B on A.a=B.b,A B不支持子查询。可能导致引擎开启实时数据时的关联无法正常使用, 只能走内存化;

2、多层嵌套可能会sql报错,如果用户原本的sql数据集已经有sql嵌套, 引擎开启实时数据时的查询可能会出现问题。例如 select T_2.a from ( select T_1.a from ( select * from A) T_1 ) T_2 会报错。


报错解决方法: 

报错1: jdbc访问数据库无法连接, 提示get locations错误或者zookeeper找不到对应的地址

解决方法: 检查如下位置的配置,/etc/hosts 中的机器名对应IP是否为局域网IP;/etc/hostname中机器名设置和/etc/hosts中是否配置一致;BI所在机器hosts配置的IP+机器名是否正确。

报错2: BI测试链接失败, 报错 "Caused by: java.sql.SQLException: org.apache.hadoop.hbase.DoNotRetryIOException: java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch.<init>()V from class org.apache.hadoop.hbase.zookeeper.MetaTableLocator"

解决方法: guava包需要替换 guava-16.0.1.jar