Hive数据导入
云原生数据仓库 AnalyticDB MySQL 版支持通过Hive数据迁移将Hive数据迁移至OSS。本文介绍如何添加Hive数据源,新建Hive迁移链路并启动任务,以及数据迁移后如何进行数据分析和管理数据迁移任务。
功能介绍
AnalyticDB for MySQL支持新建Hive数据迁移任务,通过迁移任务将Hive元数据和数据一键迁移到OSS,或多库多表并行迁移到OSS。
前提条件
AnalyticDB for MySQL集群的产品系列为企业版、基础版或湖仓版。
已在AnalyticDB for MySQL集群中创建Job型资源组。
已创建AnalyticDB for MySQL集群的数据库账号。
如果是通过阿里云账号访问,只需创建高权限账号。
如果是通过RAM用户访问,需要创建高权限账号和普通账号并且将RAM用户绑定到普通账号上。
-
在AnalyticDB for MySQL集群的相同地域,已创建阿里云E-MapReduce集群或ECS自建CDH集群,具体要求如下:
-
E-MapReduce集群。E-MapReduce集群业务场景为新版数据湖,元数据类型为自建 RDS或内置 MySQL,具有Hive服务,且Hive 存储模式为HDFS(即去勾选数据湖存储)。具体操作,请参见创建集群。
重要-
元数据类型为DLF 统一元数据的E-MapReduce集群,暂不支持迁移Hive数据至OSS。
-
Hive存储模式为数据湖存储的E-MapReduce集群,数据存储在OSS中,可以通过元数据发现功能将数据导入AnalyticDB for MySQL。具体操作,请参见通过元数据发现导入数据。
-
-
ECS自建CDH集群。
-
已创建Hive库表,且Hive表为分区表。具体操作,请参见Hive基础操作。
计费说明
通过AnalyticDB for MySQL数据迁移功能迁移数据至OSS会产生以下费用。
-
AnalyticDB for MySQL的ACU弹性资源费用,计费项详情,请参见湖仓版计费项和企业版和基础版计费项。
-
OSS的存储费用、GET类请求次数以及PUT类和其他请求次数的费用。计费项详情,请参见计费概述。
使用流程
新建Hive数据源
如果已添加过Hive数据源,可跳过此步骤,直接新建迁移链路,详情请参见新建数据迁移任务。
登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表,然后单击目标集群ID。
-
在左侧导航栏,单击数据接入>数据源管理。
-
单击左上角新建数据源。
-
在新建数据源页面进行参数配置。参数说明如下表所示:
阿里云实例
参数名称
参数说明
数据源类型
选择数据源类型Hive。
数据源名称
系统默认会按数据源类型与当前时间生成名称,可按需修改。
数据源描述
数据源备注描述,例如湖仓应用场景、应用业务限制等。
部署模式
如果您使用的是E-MapReduce的Hive服务,请选择阿里云实例。
实例
选择数据源指向的E-MapReduce实例。
Hive Metastore Uri
访问Hive MetaStore的连接地址。格式为
thrift://<Master节点的IP地址>:<端口号>,端口号默认为9083。Master节点的IP地址查看方法:
登录EMR on ECS控制台,在节点管理页签,单击emr-master节点前的
,查看Master节点的内网地址。ECS自建CDH
参数名称
参数说明
数据源类型
选择数据源类型Hive。
数据源名称
系统默认会按数据源类型与当前时间生成名称,可按需修改。
数据源描述
数据源备注描述,例如湖仓应用场景、应用业务限制等。
部署模式
如果您是在ECS自建的CDH集群,请选择ECS自建CDH。
实例
选择数据源指向的ECS实例。
Hive Metastore Uri
访问Hive MetaStore的连接地址,即CDH Master节点对应的ECS实例的公网IP。格式为
thrift://<Master节点的IP地址>:<端口号>,端口号默认为9083。Host配置信息
填写Host与IP的映射关系。每组映射关系换行分隔。
示例:
192.168.2.153 master.cdh
192.168.2.154 node1.cdh
192.168.2.155 node2.cdh
-
参数配置完成后,单击创建。
新建数据迁移任务
-
在左侧导航栏,单击数据迁移。
-
在右上角,单击新建迁移链路。
-
在新建迁移链路页面,进行数据源的数据源及目标端配置、迁移库表配置和迁移配置。
数据源及目标端配置参数说明
参数名称
参数说明
数据链路名称
数据链路名称。系统默认按数据源类型与当前时间生成名称,可按需修改。
数据源
选择已有的Hive数据源,也可新建数据源。
目标端类型
目前仅支持数据湖-OSS存储。
OSS路径
AnalyticDB for MySQL湖仓数据在OSS中的存储路径。
重要-
展示的Bucket是与AnalyticDB for MySQL集群同地域的所有Bucket,您可以任意选择其中一个。请谨慎规划存储路径,创建后不允许修改。
-
建议选择一个空目录,且不能与其他任务的OSS路径有相互前缀关系,防止数据覆盖。例如,两个数据同步任务的OSS路径分别为oss://adb_demo/test/sls1/和oss://adb_demo/test/,OSS路径有相互前缀关系,数据同步过程中会有数据覆盖。
迁移库表配置参数说明
重要若库表名同时出现在白名单和黑名单中,则以黑名单优先,即不会迁移。
参数名称
参数说明
迁移库表白名单
填入库表名正则表达式。与表达式匹配的库表会被迁移,多个表达式之间以英文逗号(,)分隔。
迁移库表黑名单
填入库表名正则表达式。与表达式匹配的库表不会被迁移,多个表达式之间以英文逗号(,)分隔。
迁移配置参数说明
参数名称
参数说明
目标端已存在同名表文件的处理
迁移时目标表已存在的处理逻辑:
-
跳过该表(不迁移):只跳过该表,其他表仍继续迁移。
-
报错拦截,暂停迁移:迁移任务暂停。同名表和其他库表都不会继续迁移。
Job型资源组
指定任务运行的Job型资源组。
所需ACU数
指定任务运行的Job型资源组ACU数。最小ACU数为4,最大ACU数为Job型资源组可用计算最大资源数。建议多指定一些ACU数,可以提升数据迁移性能及任务稳定性。
并行任务数
默认并行任务数为1,并行任务数上限为8。
调高该值后,会同时启动多个迁移任务,每个任务迁移一张表。但是每个任务至少需要4 ACU,如果ACU数较少,则迁移任务将串行执行。
高级配置
高级配置可以让您对同步任务进行个性化的配置。如需进行个性化配置,请联系技术支持。
-
-
上述参数配置完成后,单击提交。
启动数据迁移任务
-
在数据迁移页面,选择创建成功的数据迁移任务,在操作列单击启动。
-
单击右上角查询,状态变为正在启动即数据同步任务启动成功。
数据分析
迁移任务成功后,您也可以先通过元数据发现功能将OSS中的数据导入至企业版、基础版或湖仓版,然后在SparkJAR 开发中对导入至企业版、基础版或湖仓版的数据进行分析。Spark开发的相关操作,请参见Spark开发编辑器和Spark离线应用开发。
-
-
在左侧导航栏,单击。
-
在默认模板中输入示例语句,并单击立即执行。
-- Here is just an example of SparkSQL. Modify the content and run your spark program. conf spark.driver.resourceSpec=medium; conf spark.executor.instances=2; conf spark.executor.resourceSpec=medium; conf spark.app.name=Spark SQL Test; conf spark.adb.connectors=oss; -- Here are your sql statements show tables from lakehouse20220413156_adbTest; -
可选:在应用列表页签中,单击操作列的日志,查看Spark SQL运行的日志。
-
管理数据迁移任务
在数据迁移页面,您可以在操作列执行以下操作。
|
操作按钮 |
说明 |
|
启动 |
启动数据迁移任务。 |
|
执行详情 |
可查看链路详细配置、迁移表数量及迁移详情等指标。 |
|
编辑 |
修改任务配置属性等 |
|
暂停 |
停止当前迁移任务。 |
|
删除 |
删除当前迁移任务。 |