1. 概述编辑
本文将介绍如何在 FineBI 中连接 Apache Impala 数据库。
2. 配置信息编辑
数据库版本 | 驱动 | URL | 驱动包下载 |
---|---|---|---|
impala 2.3 impala 2.8 impala 2.9 impala 2.10 impala 3.1 impala 3.2 | com.cloudera.impala.jdbc41.Driver | jdbc:impala://ip:port/dbname | |
2.1 数据库认证
若存在数据连接认证,则需要修改上述配置信息中的 URL,在 URL 后加入 AuthMech 参数。(数据库没有用户名密码时不需要加该参数)
不同参数值代表了不同的认证方式,详细介绍如下表所示:
参数值 | 认证方式 |
---|---|
3 | 用户名和密码 |
2 | 用户名 |
1 | Kerberos |
0 | 无需认证 |
URL格式为:jdbc:impala://ip:port/dbname;authmech=n(n 可以等于0、1、2、3,分别代表上面的认证方式)
2.2 Kerberos认证
若数据连接为 Kerberos 认证,URL 需要加上 AuthMech、KrbHostFQDN、KrbServiceName 三个参数,如下表所示:
参数 | 值 | 含义 |
---|---|---|
AuthMech | 1 | 认证方式为 Kerberos 认证 |
KrbHostFQDN | krb5.conf 文件中 admin_server 的值 | Impala 主机的标准域名 |
KrbServiceName | Impala 服务器的 Kerberos 服务主体名称 | 服务器别名,详情参见官方说明:KrbServiceName |
URL 格式为:jdbc:impala://ip:port/dbname;AuthMech=1;KrbHostFQDN=hostalias;KrbServiceName=impala
例如:jdbc:impala://192.168.5.127:21050/default;AuthMech=1;KrbHostFQDN=quickstart.cloudera;KrbServiceName=impala),具体操作参见文档:数据连接Kerberos认证
3. 数据连接编辑
有两种连接方式:
方法一:安装驱动隔离插件后,再连接数据库。
驱动隔离插件下载安装详情请参见:驱动隔离插件
方法二:不使用驱动隔离插件,直接连接数据库。
连接方式参见下文。但这种方式可能有 JAR 包之间的冲突从而导致连接失败。推荐用户用第一种方式。
3.1 放置驱动包
下载上面提供的 Apache Impala 驱动压缩包,将解压后的所有 JAR 包放置到%FineBI%\webapps\webroot\WEB-INF\lib下,重启 FineBI 。
3.2 配置连接
1)登录平台后选择管理系统>数据连接>数据连接管理,点击新建数据连接,如下图所示:
2)在所有选项下选择Apache Impala,如下图所示:
3)进入数据连接配置页面,按照第 2 节 配置信息要求填写相关配置信息,如下图所示:
3.3 测试连接
3. 注意事项编辑
连接 Apache Impala 数据库时,FineBI 在数据查询的时候忽略大小写,字段查询结果都为小写。
impala 不支持 date 类型,支持 timestamp。
impala 不支持多个 distinct count,多个去重记录数预览 SQL 会报错。