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


目录:

1、描述编辑

Impala 是 Cloudera 公司主导开发的新型查询系统,它提供 SQL 语义,能查询存储在 Hadoop 的 HDFS 和 HBase 中的 PB 级大数据。已有的 Hive 系统虽然也提供了 SQL 语义,但由于 Hive 底层执行使用的是 MapReduce 引擎,仍然是一个批处理过程,难以满足查询的交互性。相比之下,Impala 的最大特点也是最大卖点就是它的快速。本章我们将介绍如何在 FineBI 中连接 Apache Impala 数据库。

2、数据连接编辑

2.1 配置信息

驱动URL支持数据库版本驱动下载链接
com.cloudera.impala.jdbc41.Driverjdbc:impala://ip:port/dbnameimpala 2.3;impala 2.9;impala 2.10;ImpalaJDBC41.rar
impala 2.10 kudu1.5ClouderaImpalaJDBC41_2.5.43.rar

2.1.1 数据库认证

若 Impala 数据库存在认证,则需要修改上述配置信息中的 URL ,在 URL 后加入 AuthMech 参数(数据库没有用户名密码时不需要加该参数),不同参数值代表了不同的认证,如下所示: 

authmechn
3      username and password      
2username
1kerberos
0不认证

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

2.1.2 kerberos 认证

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

参数
含义
 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认证 。

2.2 连接步骤

  1. 从上面下载链接中下载 Apache Impala 驱动压缩包,将解压后的所有 jar 包放置到%FineBI%\webapps\webroot\WEB-INF\lib下,重启 FineBI 。

  2. 登录数据决策系统,选择管理系统>数据连接>数据连接管理,点击新建数据连接,在所有选项下选择Apache Impala,如下图所示:

    wa.png

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

    a)可选择 kerberos 认证。若选择 kerberos 认证,则需填入注册过 kdc 的客户端名称、keytab 密钥路径和 Kerberos 认证对应 URL(上述2.1.2章节给出的 URL ),参考 数据连接Kerberos认证 ,如下图所示:

    1574327866994428.png

    b)若不选择 kerberos 认证,则跟其他数据库设置一致,按照前面提供的配置信息,输入数据库的对应信息,可选择填入高级设置信息(相关介绍可参考 配置数据连接 )。如下图所示,显示的为没有用户名、密码的配置。

    1574328033469357.png

  4. 点击测试连接,若出现如下图的测试连接成功弹出框,则表示成功连接上数据库。如下图所示:

    1574328054986467.png

  5. 测试连接成功后点击右上角的保存按钮,该数据连接即添加成功。如下图所示:

    1574328151974848.png

3、注意事项编辑

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

2. impala 不支持 date 类型,支持 timestamp ;

3. impala 不支持多个 distinct count ,多个去重记录数预览 sql 会报错;