配置同步任务

配置同步任务是将数据源的数据同步到目标表的过程。本文为您介绍如何配置同步任务。

配置流程说明

同步任务的配置流程如下图。配置流程

来源表和目标表均支持多种数据源。

数据库类型

数据源

关系型数据库

MySQL、Oracle、Microsoft SQL Server、PostgreSQL、AnalyticDB for PostgreSQL

NoSQL数据存储

MongoDB、ElasticSearch

配置同步任务

  1. 在Dataphin首页,单击顶部菜单栏的研发。默认进入数据开发页面。

  2. 按照下图操作指引,进入同步任务页面。

    image

  3. 同步任务页面,单击已创建的同步任务,配置参数。

    1. 配置同步来源区域的参数,根据数据源类型不同,配置的参数也不同。image

      当数据同步来源端为MySQLOraclePostgreSQLAnalyticDB for PostgreSQLMongoDBMicrosoft SQL Server时,配置参数如下。

      参数

      描述

      数据源

      支持根据数据类型筛选数据源。Dataphin支持的同步来源数据源类型包括MySQL、Oracle、PostgreSQL、AnalyticDB for PostgreSQL、MongoDB、Microsoft SQL Server。

      模式

      当数据源类型为MySQL、Oracle、PostgreSQL、AnalyticDB for PostgreSQL时,支持设置。

      支持选择同步数据源的模式,包括单表多表

      • 单表:适用于将一个表的业务数据同步至一个目标表的场景。

      • 多表:适用于将多个表的业务数据同步至同一个目标表的场景。多个表的数据写入同一个数据表时,使用union算法。

        更多union说明,请参见交集(INTERSECT)、并集(UNION)和补集(EXCEPT)

      选择来源数据表。

      • 如果模式选择了单表,则单击geg图标,选择需要同步的数据表。

      • 如果模式选择了多表,则执行以下操作添加数据表:

        1. 在输入框中,输入表的表达式,筛选具有相同结构的表。

          系统支持枚举形式、类正则形式及两者混合形式,例如:table_[001-100];table_102

        2. 单击image图标。

        3. 确认匹配详情对话框中,选择匹配的表。

        4. 单击确认

      切分键

      当数据源类型为MySQL、Oracle时,支持设置。

      您可以将源数据表中某一列作为切分键,建议使用主键或有索引的列作为切分键。

      编码方式

      当数据源类型为Oracle时,支持设置。

      选择读取数据的编码方式。Dataphin支持选择的编码方式包括UTF-8GBKISO-8859-1系统默认

      筛选条件

      填写输入字段的过滤信息,例如ds=${bizdate}输入过滤适用于以下两种场景:

      • 固定的某一部分数据。

      • 参数过滤。

    2. 配置同步目标区域的参数,根据数据源类型不同,配置的参数也不同。image

      当数据同步目标端为MySQLOraclePostgreSQLAnalyticDB for PostgreSQLMicrosoft 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"}

    3. 配置来源字段区域的参数。选择来源表后,来源表的字段会展示在来源字段区域内。image您可以单击字段所在行操作列下的gagaga图标,删除来源字段。

      如果需要再次添加已删除的字段,则单击新建字段,根据弹框提示,填写字段及描述、选择数据类型,单击新增,完成已删除字段的添加。

    4. 配置目标字段区域的参数。选择目标表后,目标表的字段会展示在目标字段区域内。image您可以单击字段所在行操作列下的gagaga图标,删除目标字段。

      如果需要再次添加已删除的字段,则执行单击新建字段,根据弹框提示,填写字段及描述、选择数据类型,单击新增,完成已删除字段的添加。

    5. 调整字段:

      • 如果来源字段目标字段的字段名一一对应,则系统默认匹配。

      • 如果来源字段目标字段的字段名没有对应起来,则需手动调整。您可以删除不匹配的字段后,将鼠标悬停在字段列表的空白处,选择对应字段即可。

  4. 配置参数控制。配置参数控制是为了调整同步任务的并发数和容错率等。通常情况下,您不需要配置,保持默认值即可。

    参数控制

    描述

    速度上限

    数据同步的传输速率,默认为1MB/s。系统数据同步的传输速率会尽可能地达到速度上限,但是不会超过速度上限。速度上限会影响整个调度的资源情况,速度上限设置的越高,运行任务的调度资源量会越大。

    并发数

    启动并发抽取数据的任务的并发数。

    出错限制

    指数据同步过程中,出错的记录数超过多少条则任务中止。默认为0条,即不允许出错。

  5. 配置同步任务的调度参数,详情请参见调度配置

  6. 保存、提交和发布同步任务:

    1. 单击页面上方的z图标,保存代码任务。

    2. 单击页面上方的z图标,提交代码任务。

管理同步任务

您可以对已提交状态的同步任务,执行如下操作。

操作

描述

编辑

编辑同步任务:

  1. 将鼠标悬停在某个同步任务后的“更多”按钮图标上,单击编辑

  2. 进入同步任务配置页面修改同步任务,详情请参见配置同步任务

    代码编写页面仅限解锁及被您自己锁定的状态方可编辑,如果他人锁定显示图标,单击图标,进行偷锁,偷锁成功后显示图标,您可以开始编辑同步任务。

说明

保存完成修改的已提交状态的同步任务后,系统自动将同步任务的状态调整为开发中

重命名

重命名同步任务:

  1. 将鼠标悬停在某个同步任务后的“更多”按钮图标上,单击重命名

  2. 在文件夹名称的输入框中,填写名称后按回车键,完成同步任务的重命名。

移动

移动同步任务:

  1. 将鼠标悬停在某个同步任务后的“更多”按钮图标上,单击移动

  2. 移动文件夹对话框中,选择目录后,单击确定,完成同步任务的移动。

下线

下线同步任务:

  • 将鼠标悬停在某个同步任务后的“更多”按钮图标上,单击下线,完成同步任务下线。

  • 提示对话框中,单击确定并提交

下线并删除

下线并删除同步任务:

  • 将鼠标悬停在某个同步任务后的“更多”按钮图标上,单击下线并删除,完成同步任务删除。

  • 提示对话框中,单击确定并提交

后续步骤

  • 如果您的开发模式是Dev-Prod模式,则需要发布同步任务,详情请参见管理发布任务

  • 如果您的开发模式是Basic模式,则不需要发布同步任务。