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


目录:

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       hive_1.1;
 Hive1.1.zip
    Hadoop_2.6.3_Hive_1.2.1;hive2.3;hive2.1.1; Hadoop Hive.zip

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

2.2 连接步骤

  1. 根据数据库的版本下载对应的 Hadoop Hive 驱动包,并将该驱动包放置到 FineBI 文件夹%FineBI%\webapps\webroot\WEB-INF\lib下,重启 FineBI 。

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

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

    bi hanoop.png

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

    a)可选择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

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

    1574490356439998.png

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

    1575289878798690.png

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

    1574490439589439.png

3、注意事项编辑

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

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