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。
数据迁移过程。
MMA通过Hive MetaStore获取元数据,即获取所有表名、表的Schema和分区信息。
MMA在MaxCompute端根据获取到的Schema建表和分区。
MMA向Hive提交执⾏UDTF的SQL命令。
UDTF调⽤MaxCompute的Tunnel SDK向MaxCompute写入表数据。
数据校验。
说明校验⽅式:在Hive端和MaxCompute端对同⼀个表(或多个分区)执⾏
SELECT COUNT(*)
命令,通过对⽐两端的⾏数验证数据是否迁移成功。
通过OSS迁移Hive数据到MaxCompute。
该场景会先将数据迁移到OSS, 然后通过MaxCompute读取OSS数据。数据迁移过程如下。
通过阿里云“闪电立方”服务或Jindo DistCp、Juicesync将数据从HDFS迁移到OSS。
MMA通过Hive MetaStore获取元数据,即获取所有表、表的Schema、分区信息等。
MMA在MaxCompute端根据获取到的Schema和OSS路径信息创建MaxCompute OSS外表和外表对应的普通表。
通过执行
INSERT 普通表 FROM SELECT OSS外表
命令将数据从OSS导⼊到MaxCompute。
MaxCompute数据迁移原理
MaxCompute数据迁移包含同Region项目迁移、EMR+DLF+OSS迁移MaxCompute、跨Region项目迁移三种方式,本文为您介绍三种数据迁移方式的原理。
同Region项目迁移。
获取源项目中的所有表、分区,在目的项目中建表、分区。
执行SQL命令
INSERT OVERWRITE ⽬的表 FROM 源表
迁移数据。
EMR+DLF+OSS迁移MaxCompute。
该场景需要通过MaxCompute+DLF建⽴MaxCompute的外部项目(External Project)。
获取源项目中的所有表、分区,在⽬的项目中建表、分区。
执行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环境。 | |
介绍通过Hive UDTF迁移Hive数据的准备事项及操作步骤。帮助您快速了解Hive数据迁移的方式。 | |
介绍数据迁移到MaxCompute的准备事项及操作步骤。帮助您快速了解MaxCompute数据迁移的方式。 | |
介绍分区过滤表达式的格式。帮助您在创建数据迁移任务时快速完成分区过滤的参数配置。 | |
介绍数据迁移任务的查看与操作,及增量迁移方法。帮助您快速了解迁移任务的功能。 |