通过创建Hive数据源能够实现Dataphin读取Hive的业务数据或向Hive写入数据。本文为您介绍如何创建Hive数据源。
背景信息
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能。Hive用于转化HQL或SQL语句为MapReduce、Tez等程序。如果您使用的是Hive,在对接Dataphin进行数据开发或将Dataphin的数据写入至Hive的场景中,您需要先完成Hive数据源的创建。
使用限制
在Aliyun 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的连通性。
权限说明
仅支持具备新建数据源权限点的自定义全局角色和超级管理员、数据源管理员、板块架构师、项目管理员角色创建数据源。
操作步骤
在Dataphin首页顶部菜单栏中,选择管理中心 > 数据源管理。
在数据源页面,单击+新建数据源。
在新建数据源页面的大数据存储区域,选择Hive。
如果您最近使用过Hive,也可以在最近使用区域选择Hive。同时,您也可以在搜索框中,输入Hive的关键词,快速筛选。
在新建Hive数据源页面中,配置数据源连接参数。
Hive数据源配置参数中,集成配置是为了支持数据集成,实时研发配置是为了支持实时研发的场景,而元数据库配置是基础的配置,用来获取元数据。
说明通常情况下,生产数据源和开发数据源需配置为非同一个数据源,以实现开发数据源与生产数据源的环境隔离,降低开发数据源对生产数据源的影响。但Dataphin也支持配置成同一个数据源,即相同参数值。
Hive数据源基本信息配置
参数
描述
数据源名称
填写数据源名称。命名规则如下:
只能包含中文、英文字母大小写、数字、下划线(_)或短划线(-)。
长度不能超过64个字符。
数据源编码
配置数据源编码后,您可以在Flink_SQL任务中通过
数据源编码.表名称或数据源编码.schema.表名称的格式引用数据源中的表;如果需要根据所处环境自动访问对应环境的数据源,请通过${数据源编码}.table或${数据源编码}.schema.table的变量格式访问。更多信息,请参见Dataphin数据源表开发方式。重要数据源编码配置成功后不支持修改。
数据源编码配置成功后,才能在资产目录和资产清单的对象详情页面进行数据预览。
Flink SQL中,目前仅支持MySQL、Hologres、MaxCompute、Oracle、StarRocks、Hive、SelectDB、GaussDB(DWS)数据源。
版本
选择Hive数据源的版本。Dataphin支持以下版本:
CDH5.x Hive 1.1.0
Aliyun EMR3.x Hive 2.3.5
Aliyun EMR5.x Hive 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
Amazon EMR
数据源描述
对数据源的简单描述,128个字符以内。
数据湖表格式
选择开启或关闭数据湖表格式,默认为关闭,开启后可选择表格式。
当版本选择为CDP7.x Hive3.1.3时,表格式仅支持Hudi。
当版本选择为Aliyun EMR5.x Hive3.1.x时,表格式可选择Iceberg和Paimon。
说明仅当版本选择为CDP7.x Hive3.1.3或Aliyun EMR5.x Hive3.1.x时,支持配置此项。
开启模块
集成:开启后,Hive数据源可用于数据集成。
实时研发:开启后,Hive数据源可用于实时研发。
说明CDH6.x Hive 2.1.1、CDP7.x Hive 3.1.3、亚信DP5.x Hive 3.1.0版本支持开启实时研发。
版本选择为Aliyun EMR5.x Hive3.1.x,且数据湖表格式选择了Paimon时,支持开启实时研发。
数据源配置
选择数据源的配置环境:
如果业务数据源区分生产数据源和开发数据源,则选择生产+开发数据源。
如果业务数据源不区分生产数据源和开发数据源,则选择生产数据源。
标签
您可根据标签给数据源进行分类打标,如何创建标签,请参见管理数据源标签。
生产/开发数据源配置
不同Hive版本所需配置的数据源参数不同。
除Amazon EMR外的其他版本
Hive配置
元数据获取方式:支持元数据库、HMS、DLF三种源数据获取方式。获取方式不同,所需配置信息不同。
元数据库
说明当开启模块中仅选中实时研发时,元数据获取方式仅支持元数据库。
参数
说明
数据库类型
请根据集群中使用的元数据库类型,选择对应的数据库类型。Dataphin支持选择MySQL。MySQL数据库类型支持MySQL 5.1.43、MySQL 5.6/5.7和MySQL 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获取方式支持无认证、LDAP、Kerberos三种认证方式。Kerberos认证方式需上传Keytab File文件及配置Principal。
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
说明仅Aliyun EMR5.x Hive 3.1.x版本支持DLF获取方式。
参数
说明
Endpoint
填写集群在DLF数据中心所在地域的Endpoint。如何获取,请参见DLF Region和Endpoint对照表。
AccessKey ID、AccessKey Secret
填写集群所在账号的AccessKey ID和AccessKey Secret。
您可在用户信息管理页面,获取账号的AccessKey ID和AccessKey Secret。

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。
集成
说明开启模块中选择集成后,支持配置集成模块。
集成配置
支持HDFS、OSS-HDFS集群存储两种方式。存储方式不同,所需配置信息不同。
HDFS
参数
描述
NameNode
NameNode是HDFS集群中元数据的管理者,单击新增,在新增NameNode对话框,配置NameNode节点信息。
Web UI Port:访问Hadoop集群中各个组件的Web界面的端口。
IPC Port:进程间通信(IPC)的端口。
Web UI Port和IPC Port在CDH5环境下默认是
50070和8020,您可根据实际情况填写对应的端口。说明Web UI Port和IPC Port其中一个填写正确时,可以正常完成测试连接。
配置文件
上传Hadoop的配置文件
hdfs-site.xml和core-site.xml,配置文件可在Hadoop集群导出。说明开启数据湖表格式并选择Hudi作为表格式后,若实时研发使用Hive数据源并采用dp-hudi Connector,则还需上传
hive-site.xml配置文件。开启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
说明仅Aliyun EMR5.x Hive3.1.x版本支持OSS-HDFS集群存储。
参数
描述
集群存储
可以通过以下方式查看集群存储类型。
未创建集群:可以通过E-MapReduce5.x Hadoop集群创建页面查看所创建的集群存储类型。如下图所示:

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

集群存储根目录
填写集群存储根目录。可以通过查看E-MapReduce5.x Hadoop集群信息获取进行。如下图所示:
重要若填写的路径中包括Endpoint,则Dataphin默认使用该Endpoint;若不包含,则使用core-site.xml中配置的Bucket级别的Endpoint;若未配置Bucket级别的Endpoint,则使用core-site.xml中的全局Endpoint。更多信息请参见阿里云OSS-HDFS服务(JindoFS 服务)Endpoint配置。
配置文件
上传集群的
core-site.xml和hive-metastore-site.xml配置文件,配置文件可在Hadoop集群导出。AccessKey ID、AccessKey Secret
填写访问集群OSS的AccessKey ID和AccessKey Secret。请使用已有AccessKey或者参考创建AccessKey重新创建。
重要此处填写的配置优先级高于core-site.xml中配置的AccessKey。
为降低AccessKey泄露的风险,AccessKey Secret只在创建时显示一次,后续无法查看。请务必妥善保管。
开启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数据的权限。
Spark配置
说明当版本选择为CDP7.x Hive3.1.3,且数据湖表格式选择Hudi时,支持Spark配置。
当版本选择为Aliyun EMR5.x Hive3.1.x,且数据湖表格式选择Iceberg或Paimon时,支持Spark配置。
参数
描述
Spark
可选择开启或关闭,默认为开启,开启后还需配置下方参数。
说明当数据湖表格式已选择Paimon时,不支持关闭Spark。
服务类型
可选择Kyuubi或Livy,默认为Kyuubi。
Spark JDBC URL
输入JDBC连接地址,格式为
jdbc:hive2://{host}:{port}/{database name}。认证方式
可选择无认证、LDAP或Kerberos。
用户名、密码
输入鉴权用户名和密码,为保证任务正常执行,请确保该用户拥有所需数据权限。
说明当认证方式选择为无认证时,需输入用户名;当认证方式选择为LDAP时,需输入用户名和密码。
Spark Keytab File
上传keytab认证文件,您可以在Spark Server上获取keytab文件。
说明当认证方式选择为Kerberos时,支持配置此项。
Spark Principal
填写Spark Keytab File文件对应的Principal名,例如
xxx/hadooppclient@xxx.xxx。说明当认证方式选择为Kerberos时,支持配置此项。
实时研发
说明仅CDH6.x Hive 2.1.1、CDP7.x Hive 3.1.3、亚信DP5.x Hive 3.1.0版本支持开启实时研发。开启模块中选择实时研发时,支持配置实时研发模块。
配置文件:上传hive-site.xml文件。Flink SQL任务将忽略集成中的认证信息,而使用Flink引擎的认证信息访问Hive数据源。
Amazon EMR
参数
描述
主节点公有DNS
通过公有DNS获取VPC私有DNS,Hive及 Spark均通过私有DNS连接,格式为
ec2-{public_ip}.{region}.compute.amazonaws.com。密钥文件(*pem)
访问主节点ec2的密钥对(新建EMR集群时所设定的密钥对)。
配置文件
可自行上传相关集群配置文件(core-site.xml、yarn-site.xml、hive-site.xml、hdfs-site.xml),或单击获取集群配置(需先填写主节点公有DNS并上传密钥文件),从主节点下载相关文件。
Database
填写Amazon EMR计算引擎的Database名称。
引擎类型
可选择Hive或Spark,默认选择Hive。选择Hive后,还需输入Hive JDBC URL;选择Spark还需输入 Spark JDBC URL。
Hive JDBC URL:输入Hive的JDBC连接地址,或自动获取连接地址(需先填写主节点公有DNS并上传密钥文件)。Hive JDBC URL格式为
jdbc:hive2//host1:port1,host2:post2/,无需填写Database name。Spark JDBC URL:输入Spark的JDBC连接地址,格式为
jdbc:hive2//{host:port}/{database name}。
用户名
Hive或Spark的指定用户名,此用户名将设置为JDBC的
username。集群存储
当前仅可选择HDFS。
元数据获取方式
可选择HMS或Amazon Glue。
HMS:默认选择HMS。
Amazon Glue:选择Amazon Glue后,还需配置Glue Region Code、Glue AccessKey ID、Glue AccessKey Secret。
Glue Region Code:输入Amazon Glue的Region Code,例如ap-northeast-3,us-east-1,us-west-1。
Glue AccessKey ID、Glue AccessKey Secret:输入Amazon Glue的访问AccessKey ID和AccessKey Secret。
选择默认资源组,该资源组用于运行与当前数据源相关任务,包括数据库SQL、离线整库迁移、数据预览等。
进行测试连接或直接单击确定进行保存,完成Hive数据源的创建。
单击测试连接,系统将测试数据源是否可以和Dataphin进行正常的连通。若直接单击确定,系统将自动对所有已选中的集群进行测试连接,但即使所选中的集群均连接失败,数据源依然可以正常创建。