数据集成提供向导式的开发引导,您无需编写任何代码,通过在界面勾选数据来源与去向,并结合DataWorks调度参数,实现将源端单表或分库分表的全量或增量数据周期性同步至目标数据表。本文为您介绍向导模式配置离线同步任务的常规配置,各数据源配置存在一定差异,请以支持的数据源及同步方案为准。
准备工作
- 已完成数据源配置。在设置数据集成同步任务之前,请确保已在DataWorks的数据源管理中配置好所需的源数据库和目标数据库。数据源配置详情请参见数据源列表。 说明- 离线同步支持的数据源及其配置详情请参见支持的数据源及同步方案。 
- 数据源相关能力介绍详情请参见:数据源管理。 
 
- 已购买合适规格的资源组并与工作空间绑定。详情请参见:使用Serverless资源组、使用独享数据集成资源组。 
- 资源组与数据源网络已打通。详情请参见:网络连通配置。 
步骤一:新建离线同步节点
新版数据开发
- 登录DataWorks控制台,切换至目标地域,单击左侧导航栏的,在下拉框中选择对应工作空间后单击进入Data Studio。 
- 创建工作流。详情请参见:工作流编排。 
- 创建离线同步节点。可以通过以下两种方式创建离线同步节点: - 方式一:单击工作流列表右上方的  ,选择。 ,选择。
- 方式二:双击工作流名称,将数据集成目录下的离线同步节点直接拖拽至右侧业务流程编辑面板。 
 
- 配置节点基本信息和数据来源去向后,单击确认,完成新建。 
旧版数据开发
- 登录DataWorks控制台,切换至目标地域,单击左侧导航栏的,在下拉框中选择对应工作空间后单击进入数据开发。 
- 创建业务流程。详情请参见:创建业务流程。 
- 创建离线同步节点。可以通过以下两种方式创建离线同步节点: - 方式一:展开业务流程,右键单击。 
- 方式二:双击业务流程名称,将数据集成目录下的离线同步节点直接拖拽至右侧业务流程编辑面板。 
 
- 根据界面提示创建离线同步节点。 
步骤二:配置数据源与资源组
- 选择离线同步任务的来源数据源和去向数据源。 
- 选择用于执行任务的资源组和所用资源配额。资源配额的推荐配置详见:资源组性能指标-数据集成。 
- 测试数据源与资源组的连通性。若数据源与资源组网络不通,请参考界面提示或文档进行网络连通配置。详情请参见:网络连通配置。 
- 如果已创建资源组,但此处不展示资源组时,请确认资源组是否已绑定至工作空间。详情请参见:使用Serverless资源组、使用独享数据集成资源组。 
- Serverless资源组支持为同步任务指定运行CU上限,如果您的同步任务因资源不足出现OOM现象,请适当调整资源组的CU占用取值。 
步骤三:配置数据来源与去向
在数据来源与数据去向的区域,配置任务读取与写入的表,及同步的数据范围。
各插件配置存在一定差异,以下内容仅以常见配置为例进行说明,各插件是否支持相关配置以及配置的具体实现,请以具体插件配置文档为准。详情请参见数据源列表。
- 数据来源 
- 部分源端类型支持数据过滤。您可以指定一个条件( - WHERE子句,但无需填写where关键字)来筛选源端数据,任务运行时将仅同步满足该条件的数据。详情参见:场景:配置增量数据离线同步任务。
- 为了实现增量同步,您可以将此过滤条件与调度参数结合使用,使其动态变化。例如,通过 - gmt_create >= '${bizdate}',任务每天运行时都将只同步当天的新增数据。同时,在配置调度属性时,需要为此处定义的变量赋值。详情参见:调度参数支持的格式。- 不同数据源(插件)的增量同步配置方法有所不同。 
- 当不配置数据过滤条件时,默认同步该表全量数据。 
- 推荐splitPk用户使用表主键,因为表主键通常情况下比较均匀,因此切分出来的分片也不容易出现数据热点。 
- 目前splitPk仅支持整型数据切分,不支持字符串、浮点和日期等其他类型。如果您指定其他非支持类型,忽略splitPk功能,使用单通道进行同步。 
- 如果不填写splitPk,包括不提供splitPk或者splitPk值为空,数据同步视作使用单通道同步该表数据。 
- 并非所有插件均支持指定切分键配置任务切分逻辑,以上仅为示例,请以具体插件说明为准。详情请参见支持的数据源及同步方案。 
- 数据处理 重要- 数据处理为新版数据开发功能,旧版数据开发用户需将工作空间升级为新版后,才可以使用。升级方式见:Data Studio 升级指南。 - 数据处理支持将来源表中的数据通过字符串替换、AI辅助处理、数据向量化等方式,将处理后的数据写入目标表。  - 单击开启按钮,打开数据处理开关。 
- 在数据处理列表中单击添加节点,选择数据处理类型:字符串替换、AI辅助处理、数据向量化。数据处理节点支持添加多个,DataWorks将按照顺序进行处理。 
- 根据界面提示,配置数据的处理规则。其中AI辅助处理和数据向量化可参考:智能数据处理。 说明- 数据处理需要额外占据计算资源,增加任务的资源占用开销。同时增加数据同步任务运行的时长,请尽量减轻处理过程的复杂度,避免影响同步效率。 
 
- 数据去向 - 操作 - 说明 - 配置同步前后执行语句 - 部分数据源支持在同步前(数据写入目标端数据源前)与同步完成后(数据写入目标端后),在目标端执行相关数据库SQL。 - 示例:MySQL Writer支持配置preSql与postSql,即在数据写入MySQL前或后,可以执行一些MySQL命令。例如在MySQL Writer端导入前准备语句(preSql)配置项中配置MySQL清空表命令 - truncate table tablename,实现同步前(写入MySQL数据前)先清空表中的旧数据的操作。- 定义冲突时的写入模式 - 定义路径或主键等场景冲突时以何种方式写入目标端。该配置根据数据源本身特性及writer插件支持情况,此处配置不同。您需要参考具体writer插件进行配置。 
| 操作 | 说明 | 
| 配置同步范围 | |
| 关系型数据库配置切分键 | 定义将源端待同步数据基于源端哪个字段进行切分,同步任务执行时将根据该字段切分为多个task,以便并发、分批读取数据。 | 
步骤四:配置字段映射关系
选择数据来源和数据去向后,需要指定读取端和写入端列的映射关系。配置字段映射关系后,任务将根据字段映射关系,将源端字段写入目标端对应类型的字段中。
同步过程中可能存在源端与目标端字段类型不匹配,产生脏数据,导致数据无法正常写入目标端。关于同步过程中脏数据的容忍条数,请参考下一步通道控制进行配置。
- 当源端某字段未与目标端字段进行映射时,源端该字段数据将不会同步到目标端。 
- 若自动映射与期望的映射不同时,需手动调整映射。 
- 如果不需要某个字段的映射关系,您可以手动删除源端与目标字段映射的连线,源端该字段数据将不会同步到目标端。 
支持同名映射、同行映射。在使用过程中,您还可以:
- 为目标字段赋值:通过添加一行的方式,为目标表添加常量、调度参数、内置变量。例如,'123','${调度参数}','#{内置变量}#'。 说明- 当单击下一步,配置调度时,可以为调度参数赋值。关于调度参数的使用详情请参见:调度参数支持的格式。 
- 添加内置变量:您可以通过手动添加内置变量,映射到目标字段,将内置变量输出到下游。 - 各个插件可用内置变量如下: - 内置变量 - 变量说明 - 支持插件 - ' - #{DATASOURCE_NAME_SRC}#'- 来源数据源名称 - MySQL Reader 
- MySQL(分库分表)Reader 
- PolarDB Reader 
- PolarDB(分库分表)Reader 
- PostgreSQL Reader 
- PolarDB-O Reader 
- PolarDB-O(分库分表)Reader 
 - ' - #{DB_NAME_SRC}#'- 来源表所在的数据库名称 - MySQL Reader 
- MySQL(分库分表)Reader 
- PolarDB Reader 
- PolarDB(分库分表)Reader 
- PostgreSQL Reader 
- PolarDB-O Reader 
- PolarDB-O(分库分表)Reader 
 - ' - #{SCHEMA_NAME_SRC}#'- 来源表所在的模式名称 - PolarDB Reader 
- PolarDB(分库分表)Reader 
- PostgreSQL Reader 
- PolarDB-O Reader 
- PolarDB-O(分库分表)Reader 
 - ' - #{TABLE_NAME_SRC}#'- 来源表名称 - MySQL Reader 
- MySQL(分库分表)Reader 
- PolarDB Reader 
- PolarDB(分库分表)Reader 
- PostgreSQL Reader 
- PolarDB-O Reader 
- PolarDB-O(分库分表)Reader 
 
- 编辑源端字段:您可以通过单击手动编辑映射关系实现如下功能: - 使用源端数据库支持的函数,对字段进行函数处理,例如,通过Max(id)控制仅同步最大值。 
- 在字段映射未拉取全部字段的情况下,手动编辑源端字段。 
 说明- MaxCompute Reader暂不支持使用函数。 
步骤五:配置通道
新版数据开发的配置通道功能,在任务配置界面右侧的高级配置中。
您可通过通道配置,控制数据同步过程相关属性。相关参数说明详情可参见离线同步并发和限流之间的关系。
| 参数 | 描述 | 
| 任务期望最大并发数 | 用于定义当前任务从源端并行读取或并行写入目标端的最大线程数。 说明  
 | 
| 同步速率 | 用于控制同步速率。 
 说明  流量度量值是数据集成本身的度量值,不代表实际网卡流量。通常,网卡流量是通道流量膨胀的1至2倍,实际流量膨胀取决于具体的数据存储系统传输序列化情况。 | 
| 脏数据策略 | 脏数据指数据写入目标端时因异常(如类型冲突、约束违反)导致失败的数据记录。离线同步支持定义脏数据策略,可定义脏数据容忍条数及对任务的影响。 
 重要  当脏数据过多时,会影响同步任务的整体同步速度。 | 
| 分布式处理能力 | 用于控制是否开启分布式模式来执行当前任务。 
 如果您对于同步性能有比较高的诉求可以使用分布式模式。另外分布式模式也可以使用机器的碎片资源,对资源利用率友好。 重要  
 | 
| 时区 | 若源端和目标端需进行跨时区同步,可以通过设置源端时区来进行时区转换。 | 
任务整体同步速度除受到上述配置影响外,还受源端数据源性能,同步网络环境等多方面影响,关于同步速率说明与调优,详情请参见离线同步提速或限速。
步骤六:配置调度属性
周期性调度的离线同步任务需要配置任务自动调度时的相关属性,进入离线同步节点的编辑页面,单击右侧的调度配置,配置节点调度属性。
您需为同步任务配置调度参数、调度策略、调度时间和调度依赖,配置方式与其他数据开发节点一样。此处不再重复叙述。
- 新版数据开发调度配置参见:节点调度(新版)。 
- 旧版数据开发调度配置参见:节点调度配置(旧版)。 
调度参数使用说明请参见:调度参数在数据集成的典型应用场景。
步骤七:测试并发布任务
- 配置调试参数。 - 在离线同步任务配置页面右侧单击调试配置,配置以下参数,用于测试运行同步任务使用。 - 配置项 - 配置说明 - 资源组 - 选择与数据源连通的资源组。 - 脚本参数 - 为数据同步中的占位符参数进行赋值。例如:若数据集成中配置了 - ${bizdate}参数,则需配置格式为- yyyymmdd格式的日期参数。
- 运行任务。 - 单击工具栏的  运行按钮,可以在数据开发中对任务进行运行调试。后续,您可以创建目标表类型对应的节点类型来查询目标表数据,确认同步后的数据是否符合预期。 运行按钮,可以在数据开发中对任务进行运行调试。后续,您可以创建目标表类型对应的节点类型来查询目标表数据,确认同步后的数据是否符合预期。
- 发布任务。 - 任务测试运行成功后,若任务需要进行周期性调度运行,您需要单击节点编辑页面上方的  按钮,将任务发布至生产环境。关于任务发布,详情请参见:发布任务。 按钮,将任务发布至生产环境。关于任务发布,详情请参见:发布任务。
使用限制
- 部分数据源不支持使用向导模式配置离线同步任务。 - 您在选择数据源后,如果系统提示当前数据源不支持向导模式。您可单击工具栏中的  图标,切换至脚本模式继续配置任务。详情请参见脚本模式配置。 图标,切换至脚本模式继续配置任务。详情请参见脚本模式配置。 
- 向导模式的学习成本低,但向导模式无法支持部分高级功能。如果您需要实现更精细化的配置管理,您可以单击工具栏中的转换脚本图标,切换到脚本模式配置离线同步任务。 
后续步骤
任务发布至生产环境后,您可进入生产环境运维中心查看该调度任务,关于离线同步任务的运行与管理、状态监控、资源组运维等操作详情请参见:离线同步任务运维。