MySQL整库周期性增全量同步至MaxCompute

本文以MySQL离线同步写入MaxCompute场景为例,为您介绍如何把MySQL整个数据库的数据离线同步到MaxCompute。

使用限制

本实践仅支持使用独享数据集成资源组。

前提条件

  • 已完成来源数据源、去向数据源的配置。

    本实践以MySQL作为来源数据源,以MaxCompute作为去向数据源,因此您需要在DataWorks的工作空间的数据源管理页面新增MySQL数据源和MaxCompute数据源,两个数据源支持的数据同步能力请参见MySQL数据源MaxCompute数据源

  • 已购买独享数据集成资源组,并为资源组绑定工作空间、完成网络连通配置。

    本实践仅支持使用独享数据集成资源组,您需购买并配置独享资源组,保障资源组与MySQL数据源、MaxCompute数据源网络连通,独享数据集成资源组的购买与配置操作请参见新增和使用独享数据集成资源组

创建同步任务

  1. 进入数据集成页面。

    登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据开发与治理 > 数据集成,在下拉框中选择对应工作空间后单击进入数据集成

  2. 在页面中的创建同步任务后选择来源MySQL去向MaxCompute,单击开始创建,开始配置同步任务。

  3. 配置同步任务基本信息。

    1. 新任务名称:自定义。

    2. 同步类型:选择整库离线

    3. 同步步骤

      • 若您需要进行一次性全量或周期性全量同步,此处请勾选全量同步

      • 若您需要进行一次性增量或周期性增量同步,此处请勾选增量同步

      • 若您需要进行一次性全量周期性增量同步,此处请同时勾选全量同步增量同步

    4. 网络与资源配置:在下拉框中分别选择已创建的MySQL数据源、MaxCompute数据源、独享数据集成资源组,单击测试所有连通性,保障资源组与数据源之间的网络连通性。

  4. 配置任务个性化信息。

    1. 根据界面提示选择要同步的MySQL表。当前支持通过正则表达式进行库名、表名搜索过滤。

    2. 配置目标表属性。此操作会影响通过数据集成新建表的表结构,已有表的表格式不受影响。

      分区初始化设置:决定新建表的分区初始化值,默认只有一级分区,您可以通过配置按钮进行修改。当前整库离线同步仅支持MaxCompute目标表为分区表,不支持非分区表。

    3. 配置全增量控制:

      1. 配置任务的全增量类型。

        • 如果您的同步步骤勾选了全量同步增量同步,此处默认展示一次性全量,周期性增量,不可更改。

        • 如果您的同步步骤选择了全量同步,在全增量控制面板页面,可以选择任务的类型是一次性全量还是周期性全量。

        • 如果您的同步步骤选择了增量同步,在全增量控制面板页面,可以选择任务的类型为一次性增量还是周期性增量。

          说明

          以下以一次性全量周期性增量为例,为您示例后续的配置要点。

      2. 配置周期调度参数。如果您的任务涉及周期性同步,则可单击周期调度参数配置进行配置。

    4. 配置目标表映射。

      1. 全选目标表映射框中的表信息,点击批量刷新表映射按钮,进行表映射刷新。

      2. 根据界面提示配置周期配置、增量条件目标表名映射自定义、目标表字段赋值、自定义高级参数等参数,配置要点如下。

      • 周期配置:对周期同步的调度周期、重跑属性、调度资源组等进行配置。image

      • 增量条件:对源端进行where字句过滤,此处只需写where子句,不需要写出where关键字。如果启用了周期性配置,可以使用系统参数变量。例如:

        STR_TO_DATE('${bizdate}', '%Y%m%d') <= columnName AND columnName < DATE_ADD(STR_TO_DATE('${bizdate}', '%Y%m%d'), interval 1 day)

        image

      • 目标表名映射自定义:可以使用内置变量和手动输入的字符串拼接成为最终的目标表名。image

      • 目标表字段赋值:对目标端普通字段或分区字段进行赋值。image

      • 自定义高级参数:可以支持定制化设置,每张表的高级参数配置,如每张表同步前是否清空表、同步任务并发度、是否允许脏数据等。image

    5. 配置任务高级参数。

      点击高级参数配置,可以配置任务维度的高级参数配置,如离线任务源端最大连接数、同步前是否清空表、同步任务并发度、是否允许脏数据等。表维度的自定义高级参数配置优先于任务维度的高级参数使用。

    6. 完成上述所有任务配置后,单击完成配置,完成同步任务的配置。

任务运维

启动同步任务

完成配置之后,界面会自动跳转到任务列表页面,您可以单击对应任务的操作列的启动按钮,启动同步任务。

image

查看任务详情

您可以单击任务名称执行概况的空白处,查看任务详情。任务详情包含以下几个部分。

  • 基本信息:包括任务的数据源信息,绑定的资源组以及同步方案。

  • 执行状态:MySQL到MaxCompute的离线整库同步任务细分后的同步步骤详情。

    • 如果您的任务同步类型为全量同步,此处展示结构迁移以及全量同步。

    • 如果您的任务同步类型为增量同步,此处展示结构迁移以及增量同步。

    • 如果您的任务同步类型为全量同步、增量同步,此处展示结构迁移、全量同步以及增量同步。

  • 详细信息:针对"结构迁移"以及"全量同步"、"增量同步"的信息执行步骤。

    • 结构迁移中包含目标表的创建方式(已有表/自动建表),如果是自动建表,则会为您展示建表的DDL。

    • 全量同步中包含离线同步的表信息、同步的进度、以及写入的条数。

    • 增量同步中包含周期任务对应的最新周期实例的相关指标信息。

任务重跑

  • 直接重跑:不修改任务配置,直接单击重跑操作。

    image

    效果:重跑一次性任务、周期性任务属性做更新。

  • 修改后重跑(增减表场景):编辑任务,进行增减表的操作, 单击完成。这个时候任务的操作会变成"应用更新",单击应用更新会直接触发修改后的任务重跑。

    效果:新增的表才会进行同步,之前同步过的表不会再同步。

  • 修改后重跑(修改表名信息):编辑任务,进行目标表的名称修改或者切换同步的目标表,单击完成。这个时候任务的操作会变成"应用更新",单击应用更新会直接触发修改后的任务重跑。

    效果:同步修改过的表,没有修改的表不会再进行同步

任务停止

您可以单击对应任务的操作列的停止按钮,停止同步任务。

image