Apache Phoenix数据连接

编辑
文档创建者:doreen0813 (83193 )     浏览次数:174次     编辑次数:6次     最近更新:doreen0813 于 2018-12-14     

目录:

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。

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

222

222

点击确定进入数据连接配置页面,按照前面提供的配置信息,输入自身数据库的对应信息。

可选择勾选kerberos认证。若勾选kerberos认证,则需填入注册过kdc的客户端名称、keytab密钥路径和Kerberos认证对应URL,参考数据连接Kerberos认证,如下图:

222

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

222

点击第二步测试连接若出现如下图的测试连接成功弹出框,则表示成功连接上数据库。

222

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

222

模式选择后点击右上角的保存按钮,该数据连接即添加成功。如下图:

222

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



附件列表


主题: 数据准备
标签: 暂无标签 编辑/添加标签
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

本文档是否有用? [ 去社区提问 ]