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

目录:

1. 概述编辑

本文将介绍如何连接 Apache Impala 数据源。

2. 准备工作编辑

2.1 版本和驱动

下载驱动,并将其上传至 FineBI,如何上传可参见:驱动管理 2.1 节

支持的数据库版本  驱动包链接

Impala 2.2

Impala 2.3

Impala 2.8

Impala 2.9

Impala 2.10


ImpalaJDBC41.rar


Impala 2.10 kudu1.5

  

ClouderaImpalaJDBC41_2.5.43.rar


若开启 Kerberos 认证 ,只需下载该驱动:ImpalaJDBC41-kerberos.ra

2.2 收集连接信息

在连接数据库之前,请收集以下信息:

  • 数据库所在服务器的 IP 地址和端口号;

  • 数据库的名称;

  • 若是用户名密码认证,需要收集用户名和密码;若是 Kerberos 认证,需要收集客户端 principal 和 keytab 密钥路径;

3. 具体连接步骤编辑

1)以管理员身份登录 FineBI ,点击「管理系统>数据连接>数据连接管理」,点击「新建数据连接」如下图所示:

注:如果非管理员用户想要配置数据连接,需要管理员给其分配管理系统下数据连接节点的权限,具体操作请查看 数据连接权限 

bi新增数据连接.png

2)选择 APACHE IMPALA 图标,如下图所示:

71.png

3)驱动切换为「自定义」选择 2.1 节上传的驱动,然后输入 2.2 节的连接信息。如下图所示:

Kerberos 认证方式详情可参见:数据连接 kerberos 认证

72.png

若 Impala 数据库存在认证,则需要在 URL 后加入AuthMech参数,不同参数值代表了不同的认证,如下表所示: 

注:若数据库没有用户名密码时不需要加该参数。

含义
3username and password(用户名密码认证)
2username(用户名认证)
1 kerberos(Kerberos认证)
0不认证 

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

  • 用户名密码认证:AuthMech 参数值为 3 ,则 URL 格式为:jdbc:impala://ip:port/dbname;authmech=3

  • 用户名认证:AuthMech 参数值为 2 ,则 URL 格式为:jdbc:impala://ip:port/dbname;authmech=2

  • Kerberos 认证:AuthMech 参数值为 1 ,则 URL 格式为:jdbc:impala://ip:port/dbname;authmech=1

若数据库的认证方式为 Kerberos 认证,除了要加 AuthMech 参数,需填入注册过 kdc 的客户端名称、keytab 密钥路径和 Kerberos 认证对应 URL(加上AuthMechKrbHostFQDNKrbServiceName 三个参数)

参数含义
 AuthMech1
Kerberos 认证
KrbHostFQDNimpala server 为 krb5.conf 文件中 admin_server 的值指定连接哪台服务器的 Impala
KrbServiceName 对应的服务名服务器的别名,请参见 参数含义

URL 格式为:jdbc:impala://ip:port/default;AuthMech=1;KrbHostFQDN=hostalias;KrbServiceName=impala

例如:jdbc:impala://192.168.5.127:21050/default;AuthMech=1;KrbHostFQDN=quickstart.cloudera;KrbServiceName=impala,具体请参见 数据连接Kerberos认证 

4)点击「测试连接」,若连接成功则点击「保存」,如下图所示:

73.png

4. 添加数据库的表至 FineBI编辑

有两种方式可以将数据库中的表添加至 FineBI :

5. 注意事项编辑

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

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

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