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

目录:

1. 概述编辑

本文将介绍如何在 FineBI 中连接 Apache Impala 数据库。

2. 配置信息编辑

数据库版本驱动URL驱动包下载

impala 2.3

impala 2.8

impala 2.9

impala 2.10

com.cloudera.impala.jdbc41.Driverjdbc:impala://ip:port/dbname

ImpalaJDBC41.rar

impala 3.1

impala 3.2

jdbc:impala://ip:port/dbname;UseSasl=0;AuthMech=3;UID=impala;PWD= 

注:由于 impala 驱动包存在未修复 bug,impala3.* 版本配置时 URL 需要加上参数UseSasl=0;AuthMech=3;UID=impala;PWD=

2.1 数据库认证

若存在数据连接认证,则需要修改上述配置信息中的 URL,在 URL 后加入 AuthMech 参数。(数据库没有用户名密码时不需要加该参数)

不同参数值代表了不同的认证方式,详细介绍如下表所示:

参数值
认证方式
3用户名和密码
2用户名
1Kerberos
0无需认证

URL格式为:jdbc:impala://ip:port/dbname;authmech=n(n 可以等于0、1、2、3,分别代表上面的认证方式)

2.2 Kerberos认证

若数据连接为 Kerberos 认证,URL 需要加上 AuthMech、KrbHostFQDN、KrbServiceName 三个参数,如下表所示:

参数含义
AuthMech1认证方式为 Kerberos 认证
KrbHostFQDNkrb5.conf 文件中 admin_server 的值Impala 主机的标准域名
KrbServiceNameImpala 服务器的 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 。

1598942326955345.png

3.2 配置连接

1)登录平台后选择管理系统>数据连接>数据连接管理,点击新建数据连接,如下图所示:

1598942934730509.png

2)在所有选项下选择Apache Impala,如下图所示:

1598942999640041.png

3)进入数据连接配置页面,按照第 2 节 配置信息要求填写相关配置信息,如下图所示:

1598943307322207.png

3.3 测试连接

1598943446898502.png

3. 注意事项编辑

  • 连接 Apache Impala 数据库时,FineBI 在数据查询的时候忽略大小写,字段查询结果都为小写。

  • impala 不支持 date 类型,支持 timestamp。

  • impala 不支持多个 distinct count,多个去重记录数预览 SQL 会报错。