1. 描述编辑
Impala 是 Cloudera 公司主导开发的新型查询系统,它提供SQL语义,能查询存储在 Hadoop 的HDFS 和 HBase 中的 PB 级大数据。Impala 的最大特点,也是最大卖点就是它的快速。
FineReport 提供了两种数据连接方式:
方式一:在设计器中进行连接 ,具体方法请参见: [设计器]JDBC连接数据库 。
方式二:在数据决策平台进行连接。本文主要介绍此种方式。
2. 数据连接编辑
2.1 配置信息
数据库版本 | 驱动下载链接 | 驱动 | URL |
---|---|---|---|
impala 2.2;impala 2.3;impala 2.8;impala 2.9;impala 2.10; | com.cloudera.impala.jdbc41.Driver | jdbc:impala://hostname:port/_impala_builtins | |
impala 2.10 kudu1.5 |
ClouderaImpalaJDBC41_2.5.43.rar | ||
impala 3.0 | ImpalaJDBC41-kerberos.rar |
2.1.1 数据库认证
若 Impala 数据库存在认证,则需要在 URL 后加入 AuthMech 参数,不同参数值代表了不同的认证,如下所示:
注:若数据库没有用户名密码时不需要加该参数。
值 | 含义 |
3 | username and password |
2 | username |
1 | kerberos |
0 | 不认证 |
URL 格式为:jdbc:impala://ip:port/dbname;authmech=n( n 可以等于 0、1、2、3 分别代表上面的认证方式)
1)用户名密码认证
AuthMech 参数值为 3 ,则URL 格式为:jdbc:impala://ip:port/dbname;authmech=3。
2)用户名认证
AuthMech 参数值为 2 ,则URL 格式为:jdbc:impala://ip:port/dbname;authmech=2。
3)kerberos 认证
AuthMech 参数值为 1 。
若数据库的认证方式为 kerberos 认证,除了要加 AuthMech 参数,需填入注册过 kdc 的客户端名称、keytab 密钥路径和 Kerberos 认证对应URL(加上 AuthMech、KrbHostFQDN、KrbServiceName 三个参数)
参数 | 值 | 含义 |
AuthMech | 1 | Kerberos 认证 |
KrbHostFQDN | impala 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)不认证
AuthMech 参数值为 0 。
2.2 连接步骤
1)从配置信息驱动下载链接中下载 Apache Impala 驱动压缩包,将解压后的所有 jar 包放置到%FR_HOME%\webapps\webroot\WEB-INF\lib下,重启报表服务器。
2)管理员登录数据决策系统,点击管理系统>数据连接>数据连接管理,点击新建数据连接,在所有选项下选择Apache Impala,点击确定,如下图所示:
注:如果非管理员用户想要配置数据连接,需要管理员给其分配管理系统下数据连接节点的权限,具体操作请查看 [平台]数据连接 。
3)点击确定进入数据连接配置页面,按照本文 2.1 章提供的配置信息,输入自身数据库的对应信息。
可选择 kerberos 认证。若选择 kerberos 认证,则需参见 2.1.1 章节填入注册过 kdc 的客户端名称、keytab 密钥路径和 Kerberos 认证对应 URL,具体请参见 [平台]数据连接Kerberos认证 。如下图所示:
若不选择 kerberos 认证,则跟其他数据库设置一致,按照本文 2.1 章节提供的配置信息,输入数据库的对应信息,可选择填入高级设置信息,具体请参见 [平台]数据连接 )。下图显示数据连接为没有用户名、密码的配置。
4)点击测试连接,若弹出「连接成功」提示框,则表示成功连接上数据库,如下图所示:
5)测试连接成功后点击右上角的保存按钮,该数据连接即添加成功。如下图所示: