配置同步任务是将数据源的数据同步到目标表的过程。本文为您介绍如何配置同步任务。
配置流程说明
同步任务的配置流程如下图。
来源表和目标表均支持多种数据源。
数据库类型 | 数据源 |
关系型数据库 | MySQL、Oracle、Microsoft SQL Server、PostgreSQL、AnalyticDB for PostgreSQL |
NoSQL数据存储 | MongoDB、ElasticSearch |
配置同步任务
在Dataphin首页,单击顶部菜单栏的研发。默认进入数据开发页面。
按照下图操作指引,进入同步任务页面。
在同步任务页面,单击已创建的同步任务,配置参数。
配置同步来源区域的参数,根据数据源类型不同,配置的参数也不同。
当数据同步来源端为MySQL、Oracle、PostgreSQL、AnalyticDB for PostgreSQL、MongoDB、Microsoft SQL Server时,配置参数如下。
参数
描述
数据源
支持根据数据类型筛选数据源。Dataphin支持的同步来源数据源类型包括MySQL、Oracle、PostgreSQL、AnalyticDB for PostgreSQL、MongoDB、Microsoft SQL Server。
模式
当数据源类型为MySQL、Oracle、PostgreSQL、AnalyticDB for PostgreSQL时,支持设置。
支持选择同步数据源的模式,包括单表或多表。
单表:适用于将一个表的业务数据同步至一个目标表的场景。
多表:适用于将多个表的业务数据同步至同一个目标表的场景。多个表的数据写入同一个数据表时,使用union算法。
更多union说明,请参见交集(INTERSECT)、并集(UNION)和补集(EXCEPT)。
表
选择来源数据表。
如果模式选择了单表,则单击图标,选择需要同步的数据表。
如果模式选择了多表,则执行以下操作添加数据表:
在输入框中,输入表的表达式,筛选具有相同结构的表。
系统支持枚举形式、类正则形式及两者混合形式,例如:
table_[001-100];table_102
。单击图标。
在确认匹配详情对话框中,选择匹配的表。
单击确认。
切分键
当数据源类型为MySQL、Oracle时,支持设置。
您可以将源数据表中某一列作为切分键,建议使用主键或有索引的列作为切分键。
编码方式
当数据源类型为Oracle时,支持设置。
选择读取数据的编码方式。Dataphin支持选择的编码方式包括UTF-8、GBK、ISO-8859-1和系统默认。
筛选条件
填写输入字段的过滤信息,例如
ds=${bizdate}
。输入过滤适用于以下两种场景:固定的某一部分数据。
参数过滤。
配置同步目标区域的参数,根据数据源类型不同,配置的参数也不同。
当数据同步目标端为MySQL、Oracle、PostgreSQL、AnalyticDB for PostgreSQL、Microsoft SQL Server时,配置参数如下。
参数
描述
数据源
支持根据数据类型筛选数据源。Dataphin支持的同步来源数据源类型包括MySQL、Oracle、PostgreSQL、AnalyticDB for PostgreSQL、Microsoft SQL Server。
表
选择数据同步的源表。
加载策略
选择数据写入目标表的策略。
MySQL加载策略支持覆盖数据、追加数据。
Oracle、PostgreSQL、Microsoft SQL Server加载策略支持追加数据。
AnalyticDB for PostgreSQL加载策略支持Copy模式、追加数据。
覆盖数据即以当前来源表为准,覆盖目标表中的历史数据。
追加数据即在目标表的已有的数据基础上追加数据,且不修改历史数据。
Copy模式:AnalyticDB for PostgreSQL提供copy命令,用于表与文件(标准输出,标准输入)之间的相互复制。数据同步支持使用
copy from
将数据加载到表中,并且在遇到冲突时会使用新数据覆盖旧数据,建议您在遇到性能问题时再尝试使用该策略。
冲突策略
当AnalyticDB for PostgreSQL数据源的加载策略选择Copy模式时,需要配置冲突解决策略,包括冲突时报错和冲突时覆盖。
重要冲突解决策略仅在AnalyticDB for PostgreSQL内核版本高于4.3时的Copy模式下有效,内核低于4.3或不明版本时请谨慎选择,避免造成任务失败。
解析方案
非必填项。数据输出前和输出完成的特殊处理方式,比如为了满足服务的持续可用性,当前步骤写数据执行前先创建目标表Target_A,执行写入到目标表Target_A,当前步骤写数据执行完成后,对数据库中持续提供服务的表Service_B重命名成Temp_C,然后将表Target_A重命名为Service_B,最后删除Temp_C。
填写准备语句:导入前执行的 SQL 脚本。
填写完成语句:导入后执行的 SQL 脚本。
当数据同步目标端为MongoDB时,配置参数如下。
参数
描述
数据源
支持根据数据类型筛选数据源。Dataphin支持的同步来源数据源类型包括MongoDB。
表
选择数据同步的源表。
字段分隔符
当字段类型为数组时,需要填写字段分隔符。
更新信息
填写更新信息。例如
{"isUpsert":"true","upsertkey"""unique_id"}
。配置来源字段区域的参数。选择来源表后,来源表的字段会展示在来源字段区域内。您可以单击字段所在行操作列下的图标,删除来源字段。
如果需要再次添加已删除的字段,则单击新建字段,根据弹框提示,填写字段及描述、选择数据类型,单击新增,完成已删除字段的添加。
配置目标字段区域的参数。选择目标表后,目标表的字段会展示在目标字段区域内。您可以单击字段所在行操作列下的图标,删除目标字段。
如果需要再次添加已删除的字段,则执行单击新建字段,根据弹框提示,填写字段及描述、选择数据类型,单击新增,完成已删除字段的添加。
调整字段:
如果来源字段和目标字段的字段名一一对应,则系统默认匹配。
如果来源字段和目标字段的字段名没有对应起来,则需手动调整。您可以删除不匹配的字段后,将鼠标悬停在字段列表的空白处,选择对应字段即可。
配置参数控制。配置参数控制是为了调整同步任务的并发数和容错率等。通常情况下,您不需要配置,保持默认值即可。
参数控制
描述
速度上限
数据同步的传输速率,默认为1MB/s。系统数据同步的传输速率会尽可能地达到速度上限,但是不会超过速度上限。速度上限会影响整个调度的资源情况,速度上限设置的越高,运行任务的调度资源量会越大。
并发数
启动并发抽取数据的任务的并发数。
出错限制
指数据同步过程中,出错的记录数超过多少条则任务中止。默认为0条,即不允许出错。
配置同步任务的调度参数,详情请参见调度配置。
保存、提交和发布同步任务:
单击页面上方的图标,保存代码任务。
单击页面上方的图标,提交代码任务。
管理同步任务
您可以对已提交状态的同步任务,执行如下操作。
操作 | 描述 |
编辑 | 编辑同步任务:
说明 保存完成修改的已提交状态的同步任务后,系统自动将同步任务的状态调整为开发中。 |
重命名 | 重命名同步任务:
|
移动 | 移动同步任务:
|
下线 | 下线同步任务:
|
下线并删除 | 下线并删除同步任务:
|
后续步骤
如果您的开发模式是Dev-Prod模式,则需要发布同步任务,详情请参见管理发布任务。
如果您的开发模式是Basic模式,则不需要发布同步任务。