全部产品
大数据开发套件

配置整库迁移

更新时间:2017-09-26 00:13:31   分享:   

整库迁移是为了提升用户效率、降低用户使用成本的一种快捷工具,它可以快速完成用户把一个 Mysql DB 库内所有表一并上传到 MaxCompute 的工作,关于整库迁移的详细介绍请参见 整库迁移概述

本文将通过实践操作,为大家介绍如何使用整库迁移功能,完成 MySQL 数据整库迁移到 MaxCompute。

操作步骤

  1. 登录到数加 数据集成控制台 并单击左侧的 离线同步 > 数据源 标签,进入数据源管理页面,如下图所示:

  2. 单击右上角的 新增数据源,添加一个面向整库迁移的 MySQL 数据源 clone_databae,如下图所示:

  3. 单击 测试连通性 验证数据源访问正确无误后,确认并保存此数据源。

  4. 新增数据源成功后,即可在数据源列表中看到新增的 MySQL 数据源 clone_databae。单击对应 MySQL 数据源后的 整库迁移,即可进入对应数据源的整库迁移功能界面,如下图所示:

    整库迁移界面主要分为3块功能区域,如下图所示:

    • 待迁移表筛选区,此处将 MySQL 数据源 clone_databae 下所有数据库表以表格的形式展现出来,您可以根据实际需要批量选择待迁移的数据库表。
    • 高级设置,此处提供了 MySQL 数据表和 MaxCompute 数据表的表名称、列名称、列类型的映射转换规则。
    • 迁移模式、并发控制区,此处可以控制整库迁移的模式(全量、增量)、并发度配置(分批上次、整批上传)、提交迁移任务进度状态信息等。
  5. 单击 高级设置 按钮,您可以根据您具体需求选择转换规则。比如 MaxCompute 端建表时统一增加了 ods_ 这一前缀,如下图所示:

  6. 在迁移模式、并发控制区中,选择同步方式为 每日增量,并配置增量字段为 gmt_modified,数据集成默认会根据您选择的增量字段生成具体每个任务的增量抽取 where 条件,并配合 DataWorks DataIDE 调度参数比如 ${bdp.system.bizdate} 形成针对每天的数据抽取条件。如下图所示:

    数据集成抽取 MySQL 库表的数据是通过 JDBC 连接远程 MySQL 数据库,并执行相应的 SQL 语句将数据从 MySQL 库中 SELECT 出来,由于是标准的 SQL 抽取语句,可以配置 WHERE 子句控制数据范围。此处您可以查看到增量抽取的 where 条件是:

    1. 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 个数据库表同步。最后,点击提交任务按钮,这里可以看到迁移进度信息,以及每一个表的迁移任务状态。

  7. 单击 a1 表对应的迁移任务,会跳转到数据集成的任务开发界面。如下图所示:

    由上图可以看到源头 a1 表对应的 MaxCompute 表 odsa1 创建成功,列的名字和类型也符合之前映射转换配置。在左侧目录树 clone_database 目录下,会有对应的所有整库迁移任务,任务命名规则是: mysql2odps源表名,如上图红框部分所示。

此时便完成了将一个 MySQL 数据源 clone_databae 整库迁移到 MaxCompute 的工作。这些任务会根据配置的调度周期(默认天调度)被调度执行,您也可以使用 DataWorks DataIde 调度补数据功能完成历史数据的传输。通过数据集成 > 整库迁移功能可以极大减少您初始化上云的配置、迁移成本,整库迁移 a1 表任务执行成功的日志如下图所示:

本文导读目录
本文导读目录
以上内容是否对您有帮助?