完成网络、资源、输入及输出数据源的准备配置后,您可创建实时同步节点,同步目标输入表数据至输出表。本文为您介绍如何创建数据实时同步任务,并在创建完成后查看任务运行情况。

前提条件

创建实时数据同步任务前,需检查已完成以下准备操作。

使用限制

  • 实时数据同步任务仅支持使用独享数据集成资源组。

  • 实时同步节点目前支持的数据源及数据转换方式如下:
    • 输入数据源:MySQL Binlog、DataHub、LogHub、Kafka、PolarDB、SQL Server。
    • 输出数据源:MaxCompute、Hologres、Elasticsearch、DataHub、Kafka。
    • 数据转换方式:数据过滤、字符串替换。
  • 实时同步节点的同步规则限制如下:
    • 仅支持同步单个或多个表数据至目标单表,不支持同步单个或多个表数据至多个表。如果您需要同步数据至多个表,则需要创建多个实时同步任务。
    • 仅MySQL Binlog和SQL Server输入数据源支持同步多个表数据至目标单表,并且选择同步的多个输入源表的类型及Schema必须相同。例如,同步的多个表均为MySQL Binlog表。

创建实时同步任务

  1. 登录DataWorks控制台
  2. 在左侧导航栏,单击工作空间列表
  3. 选择工作空间所在地域后,单击相应工作空间后的进入数据开发
  4. 创建业务流程
    如果您已有 业务流程,则可以忽略该步骤。
    1. 鼠标悬停至新建图标,选择业务流程
    2. 新建业务流程对话框,输入业务名称
    3. 单击新建
  5. 创建实时同步节点。
    1. 鼠标悬停至新建图标,选择数据集成 > 实时同步
      您也可以找到目标业务流程,右键单击 数据集成,选择 新建 > 实时同步
    2. 新建节点对话框中,配置各项参数。新建实时同步节点(单表同步)
      参数 描述
      节点类型 默认为实时同步
      同步方式 选择单表(Topic)到单表(Topic)ETL,用于实时同步单个或多个表数据至目标单表,并且您可以在同步过程中进行数据变换。
      说明
      • 仅支持同步单个或多个表数据至目标单表,不支持同步单个或多个表数据至多个表。如果您需要同步数据至多个表,则需要创建多个实时同步任务。
      • 仅MySQL Binlog和SQL Server输入数据源支持同步多个表数据至目标单表,并且选择同步的多个输入源表的类型及Schema必须相同。例如,同步的多个表均为MySQL Binlog表。
      节点名称 节点名称必须是大小写字母、中文、数字、下划线(_)以及英文句号(.),且不能超过128个字符。
      目标文件夹 存放实时同步节点的目录。
    3. 单击提交,进入实时同步任务编辑页面。
  6. 选择资源组。
    1. 在实时同步任务编辑页面的右侧导航栏,单击基本配置
    2. 资源组下拉框,选择需要使用的资源组。
      说明

      实时数据同步任务仅支持使用独享数据集成资源组。

      如果您没有可用的独享数据集成资源组,请单击 新建独享资源组创建。详情请参见 独享数据集成资源组
  7. 配置输入数据源。
    1. 在实时同步任务编辑页面左侧的输入区域,拖拽目标输入数据源组件至右侧面板。
    2. 单击输入组件,在右侧的节点配置对话框配置相关信息。
      目前,同步单表数据支持的输入数据源类型及其配置如下:
  8. 可选:配置数据转换方式。
    在实时同步数据的过程中,如果您希望将输入的数据转换为需要使用的格式进行输出,则可以配置数据转换方式。
    1. 在实时同步任务编辑页面左侧的转换区域,拖拽需要使用的数据转换方式组件至右侧面板。
    2. 单击转换组件,在右侧的节点配置对话框配置相关信息。
      目前,同步单表数据支持的转换方式及其配置如下:
  9. 配置输出数据源。
    1. 在实时同步任务编辑页面左侧的输出区域,拖拽目标输出数据源组件至右侧面板。
    2. 单击输出组件,在右侧的节点配置对话框配置相关信息。
      目前,同步单表数据支持的输出数据源类型及其配置如下:
  10. 配置输入、输出组件的上下游关系。
    添加完输入、输出组件后,您可以根据业务需求,通过连线完成相应的组件关系连接,数据会根据连线从上游组件同步至下游组件。
    • 示例一:下图为您展示构建实时同步MySQL Binlog数据至MaxCompute的流程(不进行数据转换)。
      • 输入数据源:即上游组件,MySQL Binlog。
      • 输出数据源:即下游组件,MaxCompute。
      • 数据同步方向:将上游组件连线至下游组件,数据由输入数据源MySQL Binlog同步至输出数据源MaxCompute。实时同步
    • 示例二:下图为您展示构建实时同步MySQL Binlog数据至MaxCompute的流程(进行数据过滤转换)。
      • 输入数据源:即上游组件,MySQL Binlog。
      • 数据转换方式:数据过滤,即对上游输入数据源的数据进行数据过滤处理。
      • 输出数据源:即下游组件,MaxCompute。
      • 数据同步方向:将上游组件连线至数据过滤组件,再将数据过滤组件连线至下游组件。上游的输入数据源MySQL Binlog通过数据过滤后,再同步至下游的输出数据源MaxCompute。实时单表同步演示(含转换)

提交并发布实时同步任务

提交并发布节点任务。
  1. 单击工具栏中的保存图标,保存节点。
  2. 单击工具栏中的提交图标,提交节点任务。
  3. 提交新版本对话框中,输入变更描述
  4. 单击确认
如果您使用的是标准模式的工作空间,任务提交成功后,需要将任务发布至生产环境进行发布。请单击右上方的 任务发布。具体操作请参见 发布任务

执行实时同步任务

  1. 进入运维页面。
    提交或发布节点成功后,单击节点编辑页面右上方的 运维中心,进入 实时任务运维 > 实时同步任务页面。
  2. 查看实时同步任务详情。
    实时同步任务页面,单击相应 任务名称,查看运维任务的详细信息。 实时任务运维详情
  3. 执行实时同步任务。
    1. 单击目标实时同步任务操作列的启动
    2. 启动对话框中,配置各项参数。启动实时同步任务
      参数 描述
      是否重置位点 如果选中该参数,请设置下次启动的时间位点。即启动时间点位时区为必选项。
      启动时间点位 选择启动节点任务的日期和时间。
      时区 时区下拉列表中选择执行任务的时区。
      Failover 您可以设置在固定时间内,任务的Failover超过指定次数时,自动结束任务。
      说明 如果您不配置Failover的次数,将根据5分钟Failover超过100次来自动结束任务,避免频繁启动任务占用系统资源。
      脏数据策略
      • 零容忍,不允许:只要同步任务中包含脏数据,则任务自动结束。
      • 不限制:无论同步任务中是否包含脏数据,任务均可正常执行。
      • 有限控制:指定可包含固定数值的脏数据,超出该数值时任务自动结束。
    3. 单击确定

管理实时同步任务

  • 停止运行中的任务。

    单击相应任务后的停止。在停止对话框中,单击停止

  • 下线非运行状态的任务。

    单击相应任务后的下线。在下线对话框中,单击下线

  • 查看任务的报警信息。

    单击相应任务后的报警设置,在报警设置页面查看报警事件报警规则

  • 为任务新增告警。
    1. 选中需要新增告警的任务,单击实时同步任务页面下方的新增告警
    2. 新建规则对话框中,配置各项参数。新建规则
      参数 描述
      名称 新建规则的名称。
      描述 新建规则的描述信息。
      指标 产生报警的指标项:
      • 任务状态
      • 业务延迟
      • Failover
      • 脏数据
      • DDL错误
      阈值 设置WARNINGCRITICAL的阈值,默认值为5分钟。
      报警间隔 设置报警的时间间隔,默认为5分钟发一次报警。
      WARNING 产生相应报警时,可以选择通过邮件短信电话钉钉发送报警通知。
      CRITICAL
      接收人(非钉钉) 选择报警通知的接收人。
    3. 单击确定
  • 批量修改目标任务中指定类型的所有告警。
    1. 选中需要操作告警的任务,单击实时同步任务页面下方的操作告警
    2. 操作告警对话框中,选则需要修改的操作类型告警指标
    3. 单击确定