MMA(MaxCompute Migration Assist)是一款MaxCompute数据迁移工具。本文为您介绍MMA的使用概述,帮助您快速了解并使用MMA。

功能简介

  • Hive数据迁移到MaxCompute。
  • MaxCompute跨项目数据迁移。
  • EMR+DLF+OSS迁移MaxCompute项目。

数据迁移原理

Hive数据迁移原理

Hive数据迁移包含通过Hive UDTF迁移数据到MaxCompute、通过OSS迁移Hive数据到MaxCompute,本文为您介绍两种数据迁移方式的原理。

  • 通过Hive UDTF迁移数据到MaxCompute。
    该场景通过Hive的分布式能⼒,实现Hive数据向MaxCompute的⾼并发传输。
    • 前提条件。

      Hive集群各节点已能够访问MaxCompute。

    • 数据迁移过程。通过Hive UDTF迁移数据
      1. MMA通过Hive MetaStore获取元数据,即获取所有表名、表的Schema和分区信息。
      2. MMA在MaxCompute端根据获取到的Schema建表和分区。
      3. MMA向Hive提交执⾏UDTF的SQL命令。
      4. UDTF调⽤MaxCompute的Tunnel SDK向MaxCompute写入表数据。
      5. 数据校验。
        说明 校验⽅式:在Hive端和MaxCompute端对同⼀个表(或多个分区)执⾏SELECT COUNT(*)命令,通过对⽐两端的⾏数验证数据是否迁移成功。
  • 通过OSS迁移Hive数据到MaxCompute。
    该场景会先将数据迁移到OSS, 然后通过MaxCompute读取OSS数据。数据迁移过程如下。通过OSS迁移Hive数据
    1. 通过阿⾥云“闪电立方”服务或Jindo DistCp、Juicesync将数据从HDFS迁移到OSS。
    2. MMA通过Hive MetaStore获取元数据,即获取所有表、表的Schema、分区信息等。
    3. MMA在MaxCompute端根据获取到的Schema和OSS路径信息创建MaxCompute OSS外表和外表对应的普通表。
    4. 通过执行INSERT 普通表 FROM SELECT OSS外表 命令将数据从OSS导⼊到MaxCompute。

MaxCompute数据迁移原理

MaxCompute数据迁移包含同Region项目迁移、EMR+DLF+OSS迁移MaxCompute、跨Region项目迁移三种方式,本文为您介绍三种数据迁移方式的原理。

  • 同Region项目迁移。
    1. 获取源项目中的所有表、分区,在目的项目中建表、分区。
    2. 执行SQL命令 INSERT OVERWRITE ⽬的表 FROM 源表 迁移数据
  • EMR+DLF+OSS迁移MaxCompute。
    该场景需要通过MaxCompute+DLF建⽴MaxCompute的外部项目(External Project)。
    1. 获取源项目中的所有表、分区,在⽬的项目中建表、分区。
    2. 执行SQL命令 INSERT OVERWRITE ⽬的表 FROM 源表 迁移数据
  • 跨Region项目迁移。

    该场景使⽤的是MaxCompute的copytask任务,copytask可以将表数据从⼀个Region的项目,复制到另⼀个Region的项目。

    前提条件:源项目已开启允许使用copytask的开关。

MMA任务与子任务

  • MMA可以以单个数据库、多个表、多个分区为单位提交迁移任务。
  • 迁移任务以“分区”和“⾮分区表”为单位进⾏子任务分割,子任务是实际执⾏迁移操作的单位。⼀个子任务迁移⼀个⾮分区表或⼀个/多个分区。

MMA迁移作业方案

本文为您介绍Hadoop数据迁移至MaxCompute的两种迁移方案,您可以根据实际情况选择。

  • 迁移链路一
    专线场景下,支持通过MMA迁移Hive数据至MaxCompute。迁移方案如下图所示。迁移链路一
  • 迁移链路二
    无专线场景下,支持通过闪电立方迁移HDFS数据至OSS,再通过MMA将数据写入MaxCompute。迁移方案如下图所示。迁移链路二

使用向导

参考文档说明
MMA安装与配置介绍配置MMA的准备工作以及配置流程。帮助您快速搭建MMA环境。
Hive数据迁移介绍通过Hive UDTF迁移Hive数据的准备事项及操作步骤。帮助您快速了解Hive数据迁移的方式。
MaxCompute数据迁移介绍数据迁移到MaxCompute的准备事项及操作步骤。帮助您快速了解MaxCompute数据迁移的方式。
分区过滤表达式说明介绍分区过滤表达式的格式。帮助您在创建数据迁移任务时快速完成分区过滤的参数配置。
迁移任务查看与操作介绍数据迁移任务的查看与操作,及增量迁移方法。帮助您快速了解迁移任务的功能。