Hadoop Hive数据连接

  • 文档创建者:doreen0813
  • 编辑次数:17次
  • 最近更新:Leo.Tsai 于 2020-07-13
  • 1. 概述

    Hadoop 是个很流行的分布式计算解决方案,Hive 是建立在 Hadoop 上的数据仓库基础构架。

    它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。

    Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。本章我们将介绍如何在 FineBI 中连接 Hadoop Hive 数据库。

    2. 数据连接

    2.1 配置信息

    驱动    URL  支持数据库版本驱动下载 
        org.apache.hive.jdbc.HiveDriver         jdbc:hive2://ip:port/dbname   V1.1

    Hive1.1.zip

    V2.1.1

    Hive2.1.1.rar

    V2.3.3

    Hive2.3.3.rar

    注:此处使用 Hadoop Hive.zip 驱动时,可能会跟 FineBI 自带的 JAR 包有冲突,需要使用驱动隔离插件来解决该冲突,参见文档:驱动隔离插件 

    2.2 连接步骤

    1)根据数据库的版本下载对应的 Hadoop Hive 驱动压缩包,并解压到 FineBI 文件夹%FineBI%\webapps\webroot\WEB-INF\lib下,重启 FineBI 。

    注:此处若使用驱动隔离插件,则按照文档放置 jar 包即可,不需要再将其放入 lib 目录下。

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

    1574490248175462.png

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

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

    注:连接前请检查 /etc/hosts 中的机器名对应 IP 是否为局域网 IP;

    检查 /etc/hostname 中机器名设置和 /etc/hosts 中是否配置一致;

    检查 FineBI 所在机器 hosts 配置的 IP+ 机器名是否正确。

    本地连接时需要配置 /etc/hosts 文件,添加远端映射:IP+机器名,例如: 192.168.5.206  centos-phoenix 。

    1574490306356431.png

    若不选择 kerberos 认证,则跟其他数据库设置一致,选择填入相关信息即可(相关介绍可参考 配置数据连接 ),如下图所示:

    1574490356439998.png

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

    1575289878798690.png

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

    1574490439589439.png

    3. 注意事项

    • 连接 Hadoop Hive 数据库时,FineBI 默认查询出的字段名前会加表名,若不想要加表名,需要在数据库文件 hive-site.xml 中进行配置。如下图,将 value 的值由默认的 true 改成 false 。

    • 连接的 Hive 数据库需要为 mapreduce 运行模式,其他模式例如 tez 模式会导致使用报错。

    • 数据库地址无法 ping 通时会有报错:java:sql.SQLException:Could not open client transport with JDBC,可能是数据库和 BI 服务器网络不通,如下图所示:

      微信图片_20200518111219.png

    附件列表


    主题: 数据连接
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!