本文为您介绍如何通过整库迁移功能,将MySQL数据整库迁移至MaxCompute。

背景信息

整库迁移是为了提升用户效率、降低用户使用成本的一种快捷工具,它可以快速把MySQL数据库内所有表一并上传至MaxCompute,极大减少您初始化上云的配置、迁移成本。整库迁移的详情请参见任务生成规则与使用限制

操作步骤

  1. 进入数据源管理页面。
    1. 登录DataWorks控制台
    2. 在左侧导航栏,单击工作空间列表
    3. 单击相应工作空间后的进入数据集成
    4. 在左侧导航栏,单击数据源,进入工作空间管理 > 数据源管理
  2. 单击右上角的新增数据源,添加一个面向整库迁移的MySQL数据源(clone_database),详情请参见配置MySQL数据源
  3. 单击左上角的图标图标,选中全部产品 > 数据集成
  4. 在左侧导航栏,单击整库迁移
  5. 单击相应MySQL数据源后的整库迁移批量配置,进入该数据源的整库迁移页面。
    整库迁移页面包括三个功能区域。整库迁移
    序号 功能区域 描述
    1 待迁移表筛选区 此处将MySQL数据源(clone_database)下的所有数据库表以表格的形式展现出来,您可以根据实际需要批量选择待迁移的数据库表。
    2 高级设置 此处提供了MySQL数据表和MaxCompute数据表的表名称、列名称、列类型的映射转换规则。
    3 迁移模式、并发控制区 此处可以控制整库迁移的模式(全量、增量)、并发度配置(分批上传、整批上传)、提交迁移任务进度状态信息等。
    如果选择每日增量,则需要配置增量配置模式
    • 根据增量字段自动生成:自动生成where条件。
    • 显示指定增量抽取条件:显式指定的增量抽取条件。
  6. 单击高级设置,您可以根据具体的需求选择转换规则。例如,MaxCompute端建表时统一增加ods_前缀。
    高级设置
  7. 在迁移模式、并发控制区中,选择同步方式每日增量,并配置增量字段为gmt_modified。数据集成默认根据您选择的增量字段生成具体每个任务的增量抽取Where条件,并配置DataWorks调度参数(例如${bdp.system.bizdate}),形成针对每天的数据抽取条件。
    数据集成抽取MySQL库表的数据是通过JDBC连接远程MySQL数据库,并执行相应的SQL语句,从MySQL库中抽取数据。由于是标准的SQL抽取语句,您可以配置Where子句控制数据范围。您可以查看到增量抽取的Where条件,示例如下。
    STR_TO_DATE('${bdp.system.bizdate}', '%Y%m%d') <= gmt_modified AND gmt_modified < DATE_ADD(STR_TO_DATE('${bdp.system.bizdate}', '%Y%m%d'), interval 1 day)

    为了对源头MySQL数据源进行保护,避免同一时间点启动大量数据同步任务导致数据库压力过大,此处选择分批上传模式,并配置从每日0点开始,每1小时启动3个数据库表同步。

  8. 单击提交任务,查看迁移进度信息,以及每一个表的迁移任务状态。
  9. 单击a1表对应的迁移任务,跳转至数据开发页面,查看迁移结果。

执行结果

此时便完成了将一个MySQL数据源(clone_database)整库迁移到MaxCompute的工作。这些任务会根据配置的调度周期(默认天调度)被调度执行,您也可以使用DataWorks调度补数据功能完成历史数据的传输。
查看整库迁移a1表任务执行成功的日志。日志