通过数据迁移服务MMS(MaxCompute Migration Serverless)进行数据迁移前,需新增数据源并启动,以确保与MMS服务的网络连接,并将数据源的元数据同步至MMS服务,以便进行后续的迁移作业配置。
迁移模式介绍
MaxCompute数据迁移到MaxCompute场景,迁移任务主要有两种模式,不同的模式对权限和网络有不同配置要求,同时对迁移费用也会产生不同的效果。
迁移任务为SQL模式:同地域或华东2(上海)、华东1(杭州)、华北2(北京)、华南1(深圳)、西南1(成都)、华北6(乌兰察布)之间跨地域迁移,迁移任务主要通过SQL模式进行读写MaxComopute。
迁移任务为Spark+开放存储模式:其他跨地域间的数据迁移,迁移任务主要是通过Spark调用开放存储接口进行读写数据。
迁移计费
MMS数据迁移会消耗各类资源从而产生消费,主要组成费用如下:
MMS数据源运行过程(包括元数据同步)时主要是发起Spark作业,会消耗计算资源产生计费费用。
迁移任务进行数据迁移的相关费用:
建议您选择包年包月的计算资源和数据传输资源来执行迁移作业,以便降低迁移成本。详情请参见计算费用(包年包月)和数据传输独享资源费用(包年包月)。
前提条件
目标端MaxCompute项目已完成准备工作。
源端MaxCompute项目已完成如下操作:
数据源的元数据同步权限准备
源端项目需创建服务关联角色(AliyunServiceRoleForMaxComputeMMS),并配置MaxCompute源端项目的相关数据操作权限,以便MMS获取源端元数据信息以及在迁移过程中读取数据。
配置源端MaxCompute项目的相关数据操作权限。具体操作,请参见MaxCompute相关数据操作权限配置。
源端MaxCompute项目的权限包括:Project的list、CreateInstance;Table的Describe,建议可以直接赋予admin角色。
数据迁移权限准备
当迁移任务为SQL模式,源端项目需给目标服务关联角色(AliyunServiceRoleForMaxComputeMMS)授权源项目的数据读取权限,包括Select、Describe权限。可通过以下任意方式授权:
基于Package跨项目访问资源方式:源项目需要迁移的表通过Package授权给目标的服务关联角色(AliyunServiceRoleForMaxComputeMMS)。
跨主账号授权方式:
-- 源主账号或有权限的子账号操作 USE 源项目; ADD USER `ALIYUN$目标项目主账号`; GRANT super_administrator TO USER `ALIYUN$目标项目主账号`; -- 目标主账号操作,可以直接授权admin,也可以自定义权限角色(包括需要迁移的表的select、describe权限)进行授权 USE 源项目; ADD USER `RAM$目标项目主账号:role/AliyunServiceRoleForMaxComputeMMS`; GRANT admin TO USER `RAM$目标项目主账号:role/AliyunServiceRoleForMaxComputeMMS`;
迁移任务为Spark+开放存储模式:给源项目的服务关联角色(AliyunServiceRoleForMaxComputeMMS)授予Table的Describe、Select、Download权限,建议可以直接赋予admin角色(若数据源元数据同步权限准备中已经授权admin,则可不用再次授权)。
已完成以下网络配置:
当迁移任务为SQL模式:同地域迁移,只需要有Networklink即可。跨地域迁移,则需要Networklink的VPC能访问公网。详情请参见访问公网方案。
当迁移任务为Spark+开放存储模式:需要打通源端和目标端的VPC。详情请参见访问VPC方案(专线直连)。
新增数据源
登录MaxCompute控制台,在左上角选择目标地域。
在左侧导航栏,选择
。在数据源页签,单击新增数据源,配置数据源参数。
基本信息
参数名
是否必填
说明
数据源名称
是
数据源名称,可自定义,不能包含字符、数字、汉字之外的特殊字符。
数据源类型
是
选择MaxCompute数据源类型。
数据源连接类型
是
选择网络连接。
网络连接
是
选择在MaxCompute控制台新增的VPC网络信息。详情请参见准备工作。
MaxCompute区域
是
选择数据源所在的区域。
阿里云uid
是
源项目Owner阿里云账号ID。
MaxCompute源项目
是
待迁移的项目名称。
用于执行Maxcompute Sql的Project
是
选择目标执行迁移作业的项目。
其他信息
您可以根据需要,选择填写以下参数。
参数名
说明
数据传输服务 Quota Name
源端独享数据传输服务资源组名称。
您可以登录MaxCompute控制台,在配额(Quota)管理列表中,查看并复制对应的
QuotaName
,例如:ot_42854300324****_169821756****_p#ot_42854300324****_169821756****
,详情请参见购买与使用独享数据传输服务资源组。使用Maxcompute Vpc Endpoint
是否启用VPC网络进行数据迁移。取值说明如下:
Metastore定时更新
数据源元数据是否定时拉取。取值说明如下:
启用:定时拉取,支持每天和每小时。
说明每天:定时器每天运行一次,运行时刻为选定的24小时内的某一时间(精确到分钟)。
每小时:定时器每小时运行一次,运行时刻为选定的60分钟内的某一分钟。
禁用:不定时拉取。
元数据访问并发量
访问MaxCompute MetaStore的并发量,用于提高获取MaxCompute元数据的速度。
Schema白名单
需要迁移的Schema,多个值之间以半角逗号(,)分隔。
Schema黑名单
不需要迁移的Schema,多个值之间以半角逗号(,)分隔。
Table黑名单
不需要迁移的MaxCompute数据表。
单个表的格式为
schema.table
或table
,多个表之间以半角逗号(,)分隔。Table白名单
需要迁移的MaxCompute数据表。
单个表的格式为
schema.table
或table
,多个表之间以半角逗号(,)分隔。MaxCompute 迁移任务sql参数
SQL参数。
数据搬迁任务最大并发量
数据迁移并发量,默认为20。
单个任务处理的最多分区数量
默认50。即一次MMA任务迁移的分区数量,通过批量的分区迁移,可以减少提交SQL的次数,节约SQL提交时间。
单击新增,完成数据源的新增。
数据源新增完成后,您可以在数据源页签,查看已新增的数据源。
启动数据源并同步元数据
数据源创建完成后,您需要启动数据源并同步元数据。数据源启动后会生成一个作业实例,实现数据源与MMS服务的连接,再将源数据同步至MMS服务,以便后续的迁移作业的配置。
该作业实例会占用4 CU计算资源。当数据源无任何等待运行或正在运行的迁移作业或元数据同步作业时,系统会关闭数据源。若您需要使用,需再次启动。
在数据源页签,单击目标数据源操作列中的启动实例。
在弹出的对话框中,单击确定,进行启动。
待启动完成后,单击目标数据源操作列中的同步元数据。
说明若数据源的元数据存在变动,且您启用了Metastore定时更新,系统会按照配置的时间定时更新,无需再进行元数据同步操作。