反馈已提交

网络繁忙

您好,只有最新版本的6.X支持在线编辑修改,如果想创建/编辑文档,请移步到 *最新版本*

Apache Impala数据连接

  • 文档创建者:doreen0813
  • 历史版本:40
  • 最近更新:Carly 于 2022-09-29
  • 1. 概述

    1.1 版本

    FineBI 版本
    功能变动
    5.1
    -
    5.1.19
    更改上传数据库驱动包的方式:通过「驱动管理」上传,实现热加载

    1.2 应用场景

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

    注:Impala里存在多个数据库,一个数据连接只能连接一个数据库,不支持单个数据连接连接多个数据库。

    2. 准备工作

    2.1 版本和驱动

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

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

    Impala 2.2

    Impala 2.3

    Impala 2.8

    Impala 2.9

    Impala 2.10

    ImpalaJDBC41.zip 

    Impala 2.10 kudu1.5

      

    ClouderaImpalaJDBC41_2.5.43.rar


    2.2 收集连接信息

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

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

    • 数据库的名称;

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

    3. 具体连接步骤

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

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

    bi新增数据连接.png

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

    71.png

    3)驱动切换为「自定义」选择 2.1 节上传的驱动,然后输入 2.2 节的连接信息。若用户需要在直连版本下使用该数据连接,需要在 URL 后增加后缀参数 ;UseNativeQuery=1 ,如下图所示:

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

    28.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. 注意事项

    5.1 数据库注意点

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

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

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

    5.2 版本升级后连接失败

    问题描述:

    升级后连接失败并报错:Error initialized or created transport for authentication: java.io.IOException,如下图所示:

    29.png

    原因分析:

    升级后,Jass 代码内置造出的 .ini 文件会丢失掉,导致连接失败。

    升级后 

    解决方案:

    将 Kerberos 认证的方式更改为第二种,详情可参见:Kerberos 认证方式二

    附件列表


    主题: 连接到数据
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    在线QQ(将在2023.01.03关停):800049425

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭