本文为您介绍如何通过迁移服务MMS(MaxCompute Migration Serverless)将数据源迁移至MaxCompute。
前提条件
迁移作业类型
MMS支持单库整库迁移、部分迁移(多表)、部分迁移(多分区)三种迁移作业类型。
单库整库迁移,迁移单个Database。
部分迁移(多表),迁移一个或多个Table。
部分迁移(多分区),迁移一个或多个Partition。
操作步骤
登录MaxCompute控制台,在左上角选择目标地域。
在左侧导航栏,选择
。在数据源页签,单击目标数据源左侧的
,展开数据库列表。
单击目标数据库操作列中的整库迁移或部分迁移,配置相关参数。
若单击部分迁移,将进入目标数据库页面,在表列表和分区列表页签,勾选待迁移的表或分区,然后单击新建迁移作业。
参数名
是否必填
说明
参数名
是否必填
说明
库名
是
默认为待迁移的数据库名称。
作业名称
是
作业名称。
数据源
是
默认为当前数据源名称。
源库
是
默认为当前待迁移的数据库名称。
目标MaxCompute项目
是
选择目标Maxompute项目名称。
目标Schema
是
选择目标MaxCompute项目下的Schema。Schema详情请参见Schema操作。
table黑白名单
否
你可以选择白名单或黑名单,介绍如下:
白名单:即为需要迁移的Table名称,多个Table名称之间以半角逗号(,)分隔。
当迁移类型选择部分迁移(多表),白名单为已勾选的表。
整库迁移进入时,白名单默认为空。
黑名单:为不需要迁移的Table名称,多个Table名称之间以半角逗号(,)分隔。
当迁移类型选择部分迁移(多分区),无需进行此配置。
ETA
否
选择期望作业执行完成时间,MMS服务将根据该时间进行优先级排序。
开启校验
否
如果开启,MMS将在源、目标端分区分别执行
SELECT COUNT(*)
,获取迁移对象的行数,根据行数验证数据是否迁移成功。增量迁移
否
如果开启,则新建任务将忽略已经迁移成功的分区。
只迁移表结构
否
只在MaxCompute端创建相应表和分区的结构,不迁移数据。
分区过滤
否
分区过滤表达式。例如:
p1 >= '2022-03-04' and (p2 = 10 or p3 > 20) and p4 in ('abc', 'cde')
,介绍如下:p1、p2和p3均为分区名。
分区值仅包含字符串和数字,字符串被双引号或单引号包裹。
除INT和BIGINT类型的分区列值外,其他类型的分区值都只能取字符串值。
比较操作符包括:
>、>=、= 、<、<=、<>
。分区过滤表达式支持
IN
操作符。逻辑操作符包括:
AND
和OR
。支持使用括号。
表名映射
否
表迁移到目标MaxCompute后的名称。
字段名映射
否
列名中迁移到MaxCompute后的名称。
其他配置
否
针对TableType类型的映射, 配置项为JSON格式,如:
{ "mc.table.type": { "dataset1.table1":{"table.type":"delta","pk":["id1"]}, "dataset2.table2":{"table.type":"delta","pk":["id1","id2"]}, "dataset2.table2":{"table.type":"transactional"} } }
。单击提交,完成迁移作业的创建。
创建完成后,您可在迁移作业页签,查看迁移作业状态,若迁移作业运行失败后:
您可以单击目标数据源操作列中的详情,进入迁移任务列表页面,单击目标任务操作列中日志,查看失败原因。
您可以单击目标数据源操作列中的重试,重跑迁移作业。
数据迁移会涉及迁移Schema、迁移数据、数据校验三个阶段,如果迁移作业的某个任务迁移任务失败,执行重试操作后,迁移任务会重新从迁移数据阶段开始重新运行。
- 本页导读 (1)
- 前提条件
- 迁移作业类型
- 操作步骤