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集群的数据库账号。

  • 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会产生以下费用。

使用流程

新建Hive数据源

说明

如果已添加过Hive数据源,可跳过此步骤,直接新建迁移链路,详情请参见新建数据迁移任务

  1. 登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表,在企业版、基础版或湖仓版页签下,单击目标集群ID。

  2. 在左侧导航栏,单击数据接入>数据源管理

  3. 单击右上角新建数据源

  4. 新建数据源页面进行参数配置。参数说明如下表所示:

    阿里云实例

    参数名称

    参数说明

    数据源类型

    选择数据源类型Hive

    数据源名称

    系统默认会按数据源类型与当前时间生成名称,可按需修改。

    数据源描述

    数据源备注描述,例如湖仓应用场景、应用业务限制等。

    部署模式

    如果您使用的是E-MapReduce的Hive服务,请选择阿里云实例。

    实例

    选择数据源指向的E-MapReduce实例。

    Hive Metastore Uri

    访问Hive MetaStore的连接地址。格式为thrift://<Master节点的IP地址>:<端口号>,端口号默认为9083。

    Master节点的IP地址查看方法:

    登录EMR on ECS控制台,在节点管理页签,单击emr-master节点前的加号..png,查看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

  5. 参数配置完成后,单击创建

新建数据迁移任务

  1. 在左侧导航栏,单击数据迁移

  2. 在右上角,单击新建迁移链路

  3. 新建迁移链路页面,进行数据源的数据源及目标端配置迁移库表配置迁移配置

    数据源及目标端配置参数说明

    参数名称

    参数说明

    数据链路名称

    数据链路名称。系统默认按数据源类型与当前时间生成名称,可按需修改。

    数据源

    选择已有的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数较少,则迁移任务将串行执行。

    高级配置

    高级配置可以让您对同步任务进行个性化的配置。如需进行个性化配置,请联系技术支持。

  4. 上述参数配置完成后,单击提交

启动数据迁移任务

  1. 数据迁移页面,选择创建成功的数据迁移任务,在操作列单击启动

  2. 单击右上角查询,状态变为正在启动即数据同步任务启动成功。

数据分析

迁移任务成功后,您也可以先通过元数据发现功能将OSS中的数据导入至企业版、基础版或湖仓版,然后在Spark Jar开发中对导入至企业版、基础版或湖仓版的数据进行分析。Spark开发的相关操作,请参见Spark开发编辑器Spark离线应用开发

    1. 在左侧导航栏,单击作业开发 > Spark Jar 开发

    2. 在默认模板中输入示例语句,并单击立即执行

      -- 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;
    3. 可选:应用列表页签中,单击操作列的日志,查看Spark SQL运行的日志。

管理数据迁移任务

数据迁移页面,您可以在操作列执行以下操作。

操作按钮

说明

启动

启动数据迁移任务。

执行详情

可查看链路详细配置、迁移表数量及迁移详情等指标。

编辑

修改任务配置属性等

暂停

停止当前迁移任务。

删除

删除当前迁移任务。