1、描述编辑
Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据。已有的Hive系统虽然也提供了SQL语义,但由于Hive底层执行使用的是MapReduce引擎,仍然是一个批处理过程,难以满足查询的交互性。相比之下,Impala的最大特点也是最大卖点就是它的快速。本章我们将介绍如何在FineBI中连接Apache Impala数据库。
2、数据连接编辑
2.1 配置信息
驱动 | URL | 支持数据库版本 | 驱动下载 |
---|---|---|---|
com.cloudera.impala.jdbc41.Driver | jdbc:impala://ip:port/dbname | impala 2.3;impala 2.9;impala 2.10; | ImpalaJDBC41.rar |
2.1.1 数据库认证
若Impala数据库存在认证,则需要修改上述配置信息中的URL,在URL后加入authmech参数(数据库没有用户名密码时不需要加该参数),不同参数值代表了不同的认证,如下所示:
authmech | n |
---|---|
3 | username and password |
2 | username |
1 | kerberos |
0 | 不认证 |
URL格式为:jdbc:impala://ip:port/dbname;authmech=n;(n可以等于0、1、2、3,分别代表上面的不用认证方式)
2.1.2 kerberos认证
若数据库的认证方式为kerberos认证,除了要加authmech参数,URL需要调整为:jdbc:impala://192.168.1.10:21050/default;AuthMech=1;KrbHostFQDN=hostalias;KrbServiceName=impala
其中:KrbHostFQDN需要指定连接哪台服务器的impala,需要使用服务器的别名。
2.2 连接步骤
下载Apache Impala驱动压缩包,将解压后的所有jar包放置到FineBI文件夹%FineBI%\webapps\webroot\WEB-INF\lib下,重启FineBI。
登录FineBI数据决策系统,选择管理系统>数据连接,点击新建数据连接选择更多数据连接,并在弹出框中选择Apache Impala,如下图:
点击确定进入数据连接配置页面,按照前面提供的配置信息,输入自身数据库的对应信息。
a)可选择勾选kerberos认证。若勾选kerberos认证,则需填入注册过kdc的客户端名称、keytab密钥路径和Kerberos认证对应URL(上述2.1.2章节给出的URL),参考数据连接Kerberos认证,如下图:
b)若不勾选kerberos认证,则跟其他数据库设置一致,选择填入连接池属性信息即可(连接池属性介绍可参考配置数据连接)。如下图,显示的为没有用户名、密码的配置。
点击测试连接,若出现如下图的测试连接成功弹出框,则表示成功连接上数据库。
测试连接成功后点击右上角的保存按钮,该数据连接即添加成功。
3、注意事项编辑
1. 连接Apache Impala数据库时,FineBI在数据查询的时候忽略大小写,字段查询结果都为小写;
2. impala不支持date类型,支持timestamp;
3. impala不支持多个distinct count,多个去重记录数预览sql会报错;