全部产品
Search
文档中心

大数据开发治理平台 DataWorks:整库离线同步至MaxCompute

更新时间:Dec 20, 2023

整库离线同步方案包括周期性全量同步、周期性增量同步、一次性全量同步、一次性增量同步、一次性全量周期性增量同步。本文以一次性全量周期性增量同步至MaxCompute为例,为您讲解如何将整库数据离线同步至MaxCompute。

前提条件

  1. 已完成数据源配置。您需要在数据集成同步任务配置前,配置好您需要同步的源端和目标端数据库,以便在同步任务配置过程中,可通过选择数据源名称来控制同步任务的读取和写入数据库。同步任务支持的数据源及其配置详情请参见支持的数据源及同步方案

    说明

    数据源相关能力介绍详情请参见:数据源概述

  2. 已完成数据源环境准备。您可以基于您需要进行的同步配置,在同步任务执行前,授予数据源配置的账号在数据库进行相应操作的权限。详情请参见:数据库环境准备概述

背景信息

各类方案介绍及写入表分区说明请参见:数据集成侧同步任务能力说明

操作流程

  1. 步骤一:选择同步方案

  2. 步骤二:配置网络连通

  3. 步骤三:设置同步来源与规则

  4. 步骤四:设置目标表

  5. 步骤五:同步规则设置

  6. 步骤六:运行资源设置

  7. 步骤七:执行同步任务

步骤一:选择同步方案

创建同步解决方案任务,根据需求选择需要同步的源端数据源和目标端数据源,并选择整库离线同步至MaxCompute方案。

步骤二:配置网络连通

源端选择已创建的源端数据源与目标端数据源,以及用于执行同步任务的资源组。并测试资源组与数据源的网络连通。详情请参见:配置同步网络链接

步骤三:设置同步来源与规则

  1. 基本配置区域,配置同步解决方案的名称、任务存放位置等信息。

  2. 数据来源区域,确认需要同步的源端数据源相关信息。

  3. 选择同步的源表区域,选中需要同步的源表,单击图标图标,将其移动至已选源表

    该区域会为您展示所选数据源下所有的表,您可以选择整库全表或部分表进行同步。

  4. 设置表名的映射规则区域,单击添加规则,选择相应的规则进行添加。

    同步时默认将源端数据表写入MaxCompute同名表中,同时,您可以通过添加映射规则定义最终写入目的端的表名称。支持通过正则表达式转换写入的表名,还支持指定内置变量拼接目标表名。您可以通过该功能实现将多张表数据写入到同一个表中,或统一将源端某固定前缀的表名在写入目标表时更新为其他前缀。配置逻辑请参见:数据集成侧同步任务配置

步骤四:设置目标表

  1. 时间自动分区设置。

    目前仅支持将源端数据写入MaxCompute分区表,您可以单击编辑图标定义目标表分区字段名称。

  2. 刷新源表与目标表映射。

    单击刷新源表和MaxCompute表映射将根据您在步骤三配置的目标表名映射规则来生成目标表,若步骤三未配置映射规则,将默认写入与源表同名的目标表,若目标端不存在该同名表,将默认新建。同时,您可以修改表建立方式、为目标表在原有表字段基础上增加附加字段。

    说明

    目标表名将根据您在设置表名的映射规则阶段配置的表名转换规则自动转换。

    功能

    描述

    为非主键表选择主键

    由于当前方案不支持无主键表同步,所以您需要单击同步主键列的编辑按钮,为无主键表设置自选主键,即选择表中一个或部分字段作为主键,写入目标端时将会使用该主键进行去重。

    选择表建立方式

    支持自动建表使用已有表

    • 表建立方式选择使用已有表时,MaxComputeBase 表名列显示已有MaxCompute表名称。您也可以在下拉列表中选择需要使用的表名称。

    • 表建立方式选择自动建表时,显示自动创建的表名称。您可以单击表名称,查看和修改建表语句。

    编辑目标表结构

    目前自动建表生成的MaxCompute表生命周期默认只有30天,并且可能存在字段类型映射,即若目标端数据库中没有与源端一致的数据类型时,同步任务在自动创建目标表时,将自动为源端字段匹配目标端可写入的字段类型。若您需要修改MaxCompute表生命周期或修改目标表字段类型映射,您可单击MaxCompute 表名列的目标表名进行修改。

步骤五:同步规则设置

  1. 配置全量同步的数据规则。

    您可以根据实际情况选择是否写入前清空对应的原有表,选择是后,后续进行数据同步时,每次向MaxCompute写入数据前,均会删除MaxCompute表内原有的数据,建议您谨慎选择。

  2. 配置增量同步的数据规则。

    您可通过where语句对待同步的数据表进行过滤,且只需在增量条件框中填写where子句,无需写where关键字。同时,在写where子句时,您可以使用系统内置变量,例如使用${bdp.system.bizdate}指代业务日期、使用${bdp.system.cyctime}指代定时时间等。

    说明

    您可以使用调度参数来指定同步源表及目标表的数据范围,调度参数使用说明请参见:数据集成使用调度参数的相关说明

  3. 配置数据同步的调度周期。

    根据任务运行需求设置数据同步任务的调度周期,包括调度周期生效日期暂停调度等。调度属性的配置与一般节点任务的调度属性配置类似,参数详情可参见时间属性配置说明

步骤六:运行资源设置

该同步方案将分别创建全量离线同步任务和增量离线同步任务,您可以在此步骤配置任务名称及任务执行所使用的调度资源组与数据集成任务执行资源组,同时,数据集成提供数据库最大连接数、并发数等配置的默认值,如果您需要对任务做精细化配置,您可通过高级配置进行修改。

说明

DataWorks的离线同步任务通过调度资源组将其下发到数据集成任务执行资源组上执行,所以离线同步任务除了涉及数据集成任务执行资源组外,还会占用调度资源组资源。如果使用了独享调度资源组,将会产生调度实例费用。您可通过任务下发机制对该机制进行了解。

步骤七:执行同步任务

  1. 进入数据集成 > 同步任务界面,找到已创建的同步方案。

  2. 单击操作列的启动/提交执行按钮,启动同步的运行。

  3. 单击操作列的执行详情,查看任务的详细执行过程。

后续步骤

完成任务配置后,您可以对已创建的任务进行管理、执行加减表操作,或对任务配置监控报警,并查看任务运行的关键指标等。详情请参见:全增量同步任务运维