文档

创建Hive数据源

更新时间:

通过创建Hive数据源能够实现Dataphin读取Hive的业务数据或向Hive写入数据。本文为您介绍如何创建Hive数据源。

背景信息

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能。Hive用于转化HQL或SQL语句为MapReduce、Tez等程序。如果您使用的是Hive,在对接Dataphin进行数据开发或将Dataphin的数据写入至Hive的场景中,您需要先完成Hive数据源的创建。

使用限制

  • 仅支持拥有新建数据源权限点的自定义角色和超级管理员数据源管理员板块架构师项目管理员系统角色创建数据源。

  • 在E-MapReduce5.x Hadoop计算引擎下,若您需要使用基于OSS创建的Hive外部表进行离线集成。您需要进行相关配置后才可以正常使用。配置说明,请参见使用基于OSS创建的Hive外部表进行离线集成

  • 使用Hive数据源作为集成的输入输出组件时,请确认Dataphin的IP地址已在Hive的网络白名单中,以确保Dataphin能够访问Hive中的数据。

  • 请确保Dataphin的应用集群与调度集群与Hive服务、HDFS的NameNode(包括webUI、IPC)和DataNode、KDC Server、元数据库或Hive Meta Store、Zookeeper的连通性。

操作步骤

  1. 在Dataphin首页,单击顶部菜单栏管理中心->数据源管理

  2. 按照以下操作指引,进入新建数据源对话框。

    依次单击数据源->+新建数据源

    image

  3. 新建数据源对话框的大数据存储区域,选择Hive

    如果您最近使用过Hive,也可以在最近使用区域选择Hive。同时,您也可以在搜索框中,输入Hive的关键词,快速筛选。image

  4. 新建Hive数据源对话框中,配置数据源连接参数。

    Hive数据源配置参数中,集成配置是为了支持数据集成,实时研发配置是为了支持实时研发的场景,而元数据库配置是基础的配置,用来获取元数据。

    说明

    通常情况下,生产数据源和开发数据源需配置非同一个数据源,以使开发数据源与生产数据源的环境隔离,降低开发数据源对生产数据源的影响。但Dataphin也支持配置成同一个数据源,即相同参数值。

    • Hive数据源基本信息配置

      参数

      描述

      数据源名称

      填写数据源名称。命名规则如下:

      • 只能包含中文、字母、数字、下划线(_)或短划线(-)。

      • 长度不能超过64个字符。

      数据源编码

      配置数据源编码后,您可以在Flink_SQL任务中通过数据源编码.表名称数据源编码.schema.表名称的格式引用数据源中的表;如果需要根据所处环境自动访问对应环境的数据源,请通过${数据源编码}.table${数据源编码}.schema.table的变量格式访问。更多信息,请参见Dataphin数据源表开发方式

      重要

      数据源编码配置成功后不支持修改。

      版本

      选择Hive数据源的版本。Dataphin支持以下版本:

      • CDH5.x Hive 1.1.0

      • EMR3.x Hive 2.3.5

      • EMR5.x 3.1.x

      • CDH6.x Hive 2.1.1

      • FusionInsight 8.x Hive 3.1.0

      • CDP7.x Hive 3.1.3

      • 亚信DP5.x Hive 3.1.0

      数据源描述

      对数据源的简单描述,128个字符以内。

      开启模块

      • 集成:开启后,Hive数据源可用于数据集成。

      • 实时研发:开启后,Hive数据源可用于实时研发。

        说明

        CDH6.x Hive 2.1.1CDP7.x Hive 3.1.3亚信DP5.x Hive 3.1.0版本支持开启实时研发。

      数据源配置

      选择数据源的配置环境:

      • 如果业务数据源区分生产数据源和开发数据源,则选择生产+开发数据源

      • 如果业务数据源不区分生产数据源和开发数据源,则选择生产数据源

      标签

      您可根据标签给数据源进行分类打标,如何创建标签,请参见数据源管理标签

    • Hive配置

      说明

      若您的数据源配置选择生产+开发数据源,则需配置生产+开发数据源的连接信息。如果您的数据源配置为生产数据源,仅需配置生产数据源的连接信息。

      元数据获取方式:支持元数据库HMSDLF三种源数据获取方式。获取方式不同,所需配置信息不同。

      • 元数据库获取方式

        说明

        开启模块仅勾选实时研发时,元数据获取方式仅支持元数据库。

        参数

        说明

        数据库类型

        请根据集群中使用的元数据库类型,选择对应的数据库类型。Dataphin支持选择MySQLMySQL数据库类型支持MySQL 5.1.43MYSQL 5.6/5.7MySQL 8版本。

        JDBC URL

        填写目标数据库的JDBC连接地址。连接地址格式为jdbc:mysql://host:port/dbname

        用户名密码

        填写登录Hive的用户名和密码。

        Hive JDBC URL

        填写Hive的JDBC连接地址。支持配置以下三种类型的连接地址:

        • Hive Server:连接地址格式为jdbc:hive://host:port/dbname

        • ZooKeeper:例如jdbc:hive2://zk01:2181,zk02:2181,zk03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2

        • Hive已开启Kerberos:连接地址格式为jdbc:hive2://host:port/dbname;principal=hive/_HOST@xx.com

      • HMS获取方式

        参数

        说明

        认证方式

        HMS获取方式支持无认证LDAPKerberos三种认证方式Kerberos认证方式需上传Keytab File文件及配置Principal。

        image..png

        hive-site.xml

        上传Hive的hive-site.xml配置文件。

        说明

        若开启实时研发,则实时研发中也将复用该配置文件。

        Hive JDBC URL

        填写Hive的JDBC连接地址。支持配置以下三种类型的连接地址:

        • Hive Server:连接地址格式为jdbc:hive://host:port/dbname

        • ZooKeeper:例如jdbc:hive2://zk01:2181,zk02:2181,zk03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2

        • Hive已开启Kerberos:连接地址格式为jdbc:hive2://host:port/dbname;principal=hive/_HOST@xx.com

      • DLF获取方式

        重要

        DLF获取方式仅支持E-MapReduce5.x Hadoop5.x Hive 3.1.x版本。

        参数

        说明

        Endpoint

        填写集群在DLF数据中心所在地域的Endpoint。如何获取,请参见DLF Region和Endpoint对照表

        AccessKey IDAccessKey Secret

        填写集群所在账号的AccessKey ID和AccessKey Secret。

        您可在用户信息管理页面,获取账号的AccessKey ID和AccessKey Secret。

        image

        hive-site.xml

        上传Hive的hive-site.xml配置文件。

        说明

        若开启实时研发,则实时研发中也将复用该配置文件。

        Hive JDBC URL

        填写Hive的JDBC连接地址。支持配置以下三种类型的连接地址:

        • Hive Server:连接地址格式为jdbc:hive://host:port/dbname

        • ZooKeeper:例如jdbc:hive2://zk01:2181,zk02:2181,zk03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2

        • Hive已开启Kerberos:连接地址格式为jdbc:hive2://host:port/dbname;principal=hive/_HOST@xx.com

    • 集成配置

      支持HDFSOSS-HDFS集群存储两种方式。存储方式不同,所需配置信息不同。OSS-HDFS存储方式仅支持E-MapReduce5.x Hadoop集群。

      • HDFS集群存储

        参数

        描述

        NameNode

        NameNode是HDFS集群中元数据的管理者,单击新增,在新增NameNode对话框,配置NameNode节点信息。

        • Web UI Port:访问Hadoop集群中各个组件的Web界面的端口。

        • IPC Port:进程间通信(IPC)的端口。

        Web UI PortIPC Port在CDH5环境下默认是500708020,您可根据实际情况填写对应的端口。

        说明

        Web UI Port和IPC Port其中一个填写正确时,可以正常完成测试连接

        配置文件

        上传Hadoop的配置文件hdfs-site.xmlcore-site.xml,配置文件可在Hadoop集群导出。

        开启Kerberos

        Kerberos是一种基于对称密钥技术的身份认证协议,可以为其他服务提供身份认证功能,且支持SSO(即客户端身份认证后,可以访问多个服务,例如HBase和HDFS)。

        如果Hadoop集群有Kerberos认证,则需要完成以下配置。

        • Kerberos配置方式

          • KDC Server:KDC服务器地址,辅助完成Kerberos认证。

            说明

            支持配置多个KDC Server服务地址,使用英文逗号(,)分割。

          • Krb5文件配置:需要上传Krb5文件进行Kerberos认证。

        • HDFS配置

          • HDFS Keytab File:上传keytab认证文件,您可以在HDFS Server上获取keytab文件。

          • HDFS Principal:填写HDFS Keytab File文件对应的Principal名,例如xxx/hdfsclient@xxx.xxx

        • Hive配置

          • JDBC URL:填写Hive的JDBC连接地址。支持配置以下三种连接地址:

            • Hive Server的连接地址,格式为jdbc:hive://host:port/dbname

            • ZooKeeper的连接地址。例如jdbc:hive2://zk01:2181,zk02:2181,zk03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2

            • 开启Kerberos的连接地址,格式为jdbc:hive2://host:port/dbname;principal=hive/_HOST@xx.com

          • Hive Keytab File:上传keytab认证文件,您可以在Hive Server上获取keytab文件。

          • Hive Principal:填写Hive Keytab File文件对应的Principal名,例如xxx/hdfsclient@xxx.xxx

        关闭Kerberos

        如果Hadoop集群无Kerberos认证,则需要完成以下配置。

        • JDBC URL:填写Hive的JDBC连接地址。支持配置以下三种连接地址:

          • Hive Server的连接地址,格式为jdbc:hive://hodt:port/dbname

          • ZooKeeper的连接地址。例如jdbc:hive2://zk01:2181,zk02:2181,zk03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2

          • 开启Kerberos的连接地址,格式为jdbc:hive2://host:port/dbname;principal=hive/_HOST@xx.com

        • 用户名密码:填写登录Hive用户名和密码。

          说明

          为保证任务正常运行,需确保所填写的用户有访问Hive数据的权限。

      • OSS-HDFS集群存储

        参数

        描述

        集群存储

        可以通过以下方式查看集群存储类型。

        • 未创建集群:可以通过E-MapReduce5.x Hadoop集群创建页面查看所创建的集群存储类型。如下图所示:

          image.png

        • 已创建集群:可以通过E-MapReduce5.x Hadoop集群的详情页查看所创建的集群存储类型。如下图所示:

          image.png

        集群存储根目录

        填写集群存储根目录。可以通过查看E-MapReduce5.x Hadoop集群信息获取进行。如下图所示:

        image.png

        重要

        若填写的路径中包括Endpoint,则Dataphin默认使用该Endpoint;若不包含,则使用core-site.xml中配置的Bucket级别的Endpoint;若未配置Bucket级别的Endpoint,则使用core-site.xml中的全局Endpoint。更多信息。请参见阿里云OSS-HDFS服务(JindoFS 服务)Endpoint配置

        配置文件

        上传集群的core-site.xmlhivemetastore-site.xml配置文件,配置文件可在Hadoop集群导出。

        AccessKey IDAccessKey Secret

        填写访问集群OSS的AccessKey ID和AccessKey Secret。查看AccessKey,请参见查看AccessKey

        重要

        此处填写的配置优先级高于core-site.xml中配置的AccessKey。

        开启Kerberos

        Kerberos是一种基于对称密钥技术的身份认证协议,可以为其他服务提供身份认证功能,且支持SSO(即客户端身份认证后,可以访问多个服务,例如HBase和HDFS)。

        如果Hadoop集群有Kerberos认证,则需要完成以下配置。

        • Kerberos配置方式

          • Krb5文件配置:需要上传Krb5文件进行Kerberos认证。

        • Hive配置

          • JDBC URL:填写Hive的JDBC连接地址。支持配置以下三种连接地址:

            • Hive Server的连接地址,格式为jdbc:hive://host:port/dbname

            • ZooKeeper的连接地址。例如jdbc:hive2://zk01:2181,zk02:2181,zk03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2

            • 开启Kerberos的连接地址,格式为jdbc:hive2://host:port/dbname;principal=hive/_HOST@xx.com

          • Hive Keytab File:上传keytab认证文件,您可以在Hive Server上获取keytab文件。

          • Hive Principal:填写Hive Keytab File文件对应的Principal名,例如xxx/hdfsclient@xxx.xxx

        关闭Kerberos

        如果Hadoop集群无Kerberos认证,则需要完成以下配置。

        • JDBC URL:填写Hive的JDBC连接地址。支持配置以下三种连接地址:

          • Hive Server的连接地址,格式为jdbc:hive://hodt:port/dbname

          • ZooKeeper的连接地址。例如jdbc:hive2://zk01:2181,zk02:2181,zk03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2

          • 开启Kerberos的连接地址,格式为jdbc:hive2://host:port/dbname;principal=hive/_HOST@xx.com

        • 用户名密码:填写登录Hive用户名和密码。

          说明

          为保证任务正常运行,需确保所填写的用户有访问Hive数据的权限。

    • 实时研发配置

      数据源配置选择生产+开发数据源开启模块选择实时研发,则实时研发的配置页面如下图所示。数据源配置中选择生产数据源,则仅展示生产数据源的实时研发配置。

      image

      按照页面提示,上传hive-site.xml文件。

  5. 单击测试连接,测试数据源是否可以和Dataphin进行正常的连通。

  6. 测试成功后,单击确定