MaxCompute数据迁移

本文为您介绍MaxCompute数据迁移的准备事项和操作步骤。

准备事项

  • 同Region项目迁移。

    要求有能够同时访问源项目和⽬的项目的账号,该账号对源项目和⽬的项目有List、建表,读写表权限。

  • EMR+DLF+OSS迁移MaxCompute。

    需要先构建MaxCompute的湖仓⼀体,构建方式请参见MaxCompute湖仓一体概述,之后的迁移操作与“同Region项目迁移”一致。

  • 跨Region项目迁移。

    • 目前由于安全合规问题,不允许使用copytask开通数据跨境复制。如果同一个国家内的项目开通copytask复杂任务,则默认有效期为一个月,到期后会自动关闭。

    • 要求源项目开启copytask开关,您可以通过申请链接申请开启源项目的copytask开关。

操作步骤

  1. 添加数据源。

    1. 单击页面左侧的数据源,进入数据源列表页面。

    2. 单击添加数据源,进入添加数据源页面。

    3. 数据源类型选择MAXCOMPUTE,并单击下一步

    4. 根据如下参数说明配置数据源。

      参数名称

      描述

      数据源名

      数据源名称。可自定义,全局唯一,不能包含字符、数字、汉字之外的特殊字符。

      maxcompute endpoint

      源项目所在Region的Endpoint,具体请参见Endpoint

      maxcompute access id

      ⽤于访问MaxCompute的Access ID。获取方式请参见准备阿里云账号

      maxcompute access key

      ⽤于访问MaxCompute的Access Key。获取方式请参见准备阿里云账号

      maxcompute default project(用于执行sql的project)

      ⽤于执⾏有关源项目SQL的项目,如源项目为A,默认项目为B,则执⾏select * from A.table的SQL语句时会使⽤B的配额组。

      要迁移的maxcompute projects

      要迁移的项目列表,多个项目之间以英⽂逗号分隔。

      instance number of one copyTask, 仅用于"跨region项目迁移"

      仅⽤于跨Region项目迁移。即跨Region项目迁移时每个copytask使⽤的并发数。

      maxcompute 迁移任务sql参数, 仅用于"同region项目迁移"

      仅⽤于同Region项目迁移。执⾏迁移SQL语句时使⽤的Flag,一般情况下该配置使⽤默认值即可,如果任务执⾏期间有SQL报错,可以将LogView的信息发给MaxCompute技术支持人员。

      单个任务处理的最多分区数量, 仅用于"同region项目迁移"

      仅⽤于同Region项目迁移。⼀个MMA⼦任务可以同时迁移⼀个表的多个分区,该配置指定可以同时迁移的分区数量。

      meta api访问并发量

      获取源项目时的访问并发量,建议值为20。

      表黑名单, 格式为db.table

      格式为dbname.tablename,多个表名之间以英⽂逗号分隔。

      表白名单, 格式为db.table

      格式为dbname.tablename,多个表名之间以英⽂逗号分隔。

    5. 单击页面底部的提交

      说明

      如果所填的配置无误,则MMA会拉取元数据,元数据拉取完毕后,页面会自动跳转到数据源页面。否则将会报错,此时需要检查各配置项是否正确,重新填写并提交配置。

    6. 待拉取元数据的进度条显示为100%后,页面会跳转到数据源列表页面。

  2. 创建数据迁移任务。

    MMA可以创建单库、多表、多分区三个级别的迁移任务。

    说明
    • 单库,迁移单个Database。

    • 多表,迁移一个或多个Table。

    • 多分区,迁移1个或多个Partition。

    • 迁移多个表。
      1. 单击页面左侧的数据源,在数据源列表页面单击想要迁移的数据源名。
      2. 在所选的数据源详情页面,单击要迁移的库名
      3. 勾选要迁移的表,单击新建迁移任务
      4. 根据实际情况在新建迁移任务弹框中配置各参数,参数说明如下。
        参数名称描述
        名称自定义。建议填写有意义的任务名称,便于整理迁移记录。
        任务类型请根据实际情况选择。
        • mc同region。
        • mc跨region。
        • mc校验。即对比源项目和目的项目所有相同表的数据。
        mc项目目的MaxCompute项目。
        table列表要迁移的Table列表,多个Table之间以英⽂逗号分隔。
        开启校验默认打开。
        增量更新默认打开。开启后分区表已经迁移过的分区不会被重新迁移。
        只迁schema只迁移表结构、分区值。根据实际情况选择是否打开。
        分区过滤详情请参见分区过滤表达式说明
        表名映射⼀个Table迁移到⽬的项目后的名称。
      5. 单击确定
        说明 如果迁移任务的配置无误,则新的迁移任务可以在迁移任务 > 任务列表中查看,相应的子任务可以在迁移任务 > 子任务列表中查看。
    • 迁移多个分区。
      1. 单击页面左侧的数据源,在数据源列表页面单击想要迁移的数据源名。
      2. 在所选的数据源详情页面,单击要迁移的库名
      3. 切换partition列表页签,勾选要迁移的分区。
      4. 单击新建迁移任务,根据实际情况在新建迁移任务弹框中配置各参数,参数说明如下。
        参数名称描述
        名称自定义。建议填写有意义的任务名称,便于整理迁移记录。
        任务类型请根据实际情况选择。
        • mc同region。
        • mc跨region。
        • mc校验。即对比源项目和目的项目所有相同表的数据。
        mc项目目的MaxCompute项目。
        开启校验默认打开。
        只迁schema只迁移表结构、分区值。根据实际情况选择是否打开。
        partition列表保持默认值即可。
        表名映射⼀个Table迁移到⽬的项目后的名称。
      5. 单击确定
        说明 如果迁移任务的配置无误,则新的迁移任务可以在迁移任务 > 任务列表中查看,相应的子任务可以在迁移任务 > 子任务列表中查看。
    • 迁移单个库(项目)。

      说明

      如果某个项目的数据量特别⼤,不建议直接迁移整个项目,可以分批次建⽴“多个Table”的任务。

      1. 单击页面左侧的数据源,在数据源列表页面单击想要迁移的数据源名。
      2. 单击要迁移的库所在行的迁移
      3. 根据实际情况在新建迁移任务弹框中配置各参数,参数说明如下。
        参数名称描述
        名称自定义。建议填写有意义的任务名称,便于整理迁移记录。
        任务类型请根据实际情况选择。
        • mc同region。
        • mc跨region。
        • mc校验。即对比源项目和目的项目所有相同表的数据。
        mc项目目的MaxCompute项目。
        table白名单要迁移的Table列表,多个Table之间以英文逗号分隔。
        开启校验默认打开。
        增量更新默认打开。开启后分区表已经迁移过的分区不会被重新迁移。
        只迁schema只迁移表结构、分区值。
        分区过滤详情请参见分区过滤表达式说明
        表名映射⼀个Table迁移到⽬的项目后的名称。
      4. 单击确定
        说明 如果迁移任务的配置无误,则新的迁移任务可以在迁移任务 > 任务列表中查看,相应的子任务可以在迁移任务 > 子任务列表中查看。