反馈已提交

网络繁忙

实时管道任务示例

  • 文档创建者:Wendy123456
  • 历史版本:14
  • 最近更新:Wendy123456 于 2025-10-27
  • 1. 概述

    本文以 MySQL 数据同步为例,将 demo1 数据库中的「S订单「S产品实时同步至 demotest 数据库中。

    icon提示:
    本章内容适用于 4.2.11.3 及之后版本;4.2.11.3 之前版本,请参见:历史文档

    2. 操作步骤

    2.1 准备工作

    需准备一个独立部署的 FDL 工程,该工程已注册 数据管道相关功能点 

    注:对外 Demo 平台上已准备好环境,可到 对外 Demo 平台 上从本文 2.2 节步骤开始创建管道任务。

    步骤
    步骤一:数据源配置

    根据实际情况选择源端和目标端数据库,数据管道支持的数据库请参见:数据管道支持的数据源类型

    在数据连接管理中配置源端和目标端的数据连接,便于在管道任务配置过程中,通过选择数据源名称来控制同步任务的读取和写入数据库。详情请参见:配置数据连接

    步骤二:准备数据库环境

    基于需要设置数据管道任务的数据源,授予数据源配置的账号在数据库进行相应操作的权限。详情请参见:数据库环境准备概述

    步骤三:管道任务环境准备

    部署 Kafka 开源流处理平台作为中间件。详情请参见:部署Kafka配置传输队列

    注:Kafka 建议部署在 Linux 系统中(Kafka 也支持安装在 Windows 中,但性能会受到限制,仅做演示使用,不建议用于生产环境);Kafka 与 FDL 可以不在一个服务器上

    步骤四:分配管道任务权限

    若需要使用数据管道的用户不是超级管理员,则需要为对应用户分配数据管道的使用权限。详情请参见:管道任务管理权限

    注:管道任务的来源端若为 MySQL、SQLServer、Oracle,若同一个库中的多张表都需要实时同步,建议在一个管道任务中实现;若同一个库中的多张表,每张表单独配置一个管道任务,数据库将承受较大压力。

    2.2 新建管道任务

    进入 FDL 工程,点击「数据管道>实时管道」,新建一个实时管道任务。如下图所示:

    92.png

    2.3 配置管道任务

    2.3.1 选择数据来源和数据去向

    选择待同步表所在的数据连接、目标表所在的数据连接和数据库。

    数据来源处的「数据源权限检测」按钮,点击后,可以查看数据源是否有日志读取权限,建议点击检查下。

    93.png

    2.3.2 高级设置

    步骤如下图所示:

    94.png

    设置项详细说明请参见:配置管道任务-高级设置

    步骤
    含义
    源端删除数据,选择「目标端执行逻辑删除」来源表删除数据,目标端不实际删除数据;目标表将新增一个名称为_fdl_marked_deleted的布尔型字段(字段默认为false),用于记录数据删除状态。来源数据表删除了一条数据,此时同步至目标表,目标表不进行物理删除,而是将_fdl_marked_deleted字段更新为 true 
    开启「同步时标记时间戳」按钮所有目标表将新增一个名称为_fdl_update_timestamp的长整型字段,以毫秒级时间戳的形式记录数据在数据库中实际新增和更新的时间(数据库所在时间
    开启「同步源表结构变化」按钮数据管道任务支持同步源库DDL功能,开启该按钮后,在源库发生DDL(删除表、新增字段、删除字段、修改字段名称、修改字段类型(长度修改 & 兼容类型修改))时,管道任务可以自动同步这些来源端变化至目标端,不需人为介入修改目标表结构

    2.3.3 同步配置

    添加来源表:

    点击「添加表按钮,从 demo1 数据库中选择「S订单「S产品」表。

    同步类型默认即可,为存量+增量同步,逻辑是先对所有存量数据同步,然后持续同步新增变化。

    最后点击「添加表按钮。如下图所示:

    注:该界面设置项详细说明请参见:配置实时管道任务-同步配置

    1761294198520251.png

    设置目标表:

    1)依次为待同步的两张表:修改目标表名称,为目标表设置物理主键(设置的物理主键显示在写入方式的「主键映射处)。如下图所示:

    「S产品」对应的目标表为「S产品_2」,「S订单」表对应的目标表为「S订单_2」。

    由于同步类型我们选择的是「存量+增量同步」,所以写入方式处有两个阶段;主键冲突策略无法修改,默认即可。

    96.png

    2.3.2 节我们开启了同步时标记时间戳按钮、目标端执行逻辑删除」,目标表中新增_fdl_update_timestamp、_fdl_marked_deleted字段。如下图所示:

    97.png


    本步骤中,目标表可以选择已存在表、可批量修改表名、主键相关说明等,详情请参见:配置实时管道任务-同步配置

    保存配置

    点击左下角的「保存按钮即可。

    2.3.4 任务控制

    点击「任务控制按钮,进行设置:

    98.png

    详情请参见:配置实时管道任务-任务控制

    设置项
    含义

    99.png

    脏数据阈值为 1000 行

    管道任务中单表脏数据达到表脏数据阈值后,任务会异常中止

    注1:限制最多10w行,且处理脏数据后,会重置阈值统计。

    注2:若需要对产生的脏数据进行处理,详情参见:管道任务处理脏数据

    99.png

    失败重试:重跑 3 次,每次间隔 2 分钟

    管道任务失败后,重试 3 次,每次间隔 2 分钟

    101.png

    当管道任务异常中止、任务异常重试、表同步异常重试、源表结构变化时,通知给指定负责人
    102.png用户若想看到详细的日志信息,日志等级可以设置为INFO

    2.3.5 启动所有表

    点击「启动所有表按钮,开启来源表的实时同步。如下图所示:

    注:启动管道任务前,请确保有充足的内存和并发运行实时管道任务。详情请参见:负载分配

    103.png

    2.4 效果查看

    1)可查看读取行数、写入行数。如下图所示:

    3.png

    可看到「S订单_2」表中产生了一条脏数据,可参考 文档 对脏数据进行处理。

    支持暂停单张表、暂停所有表的同步。

    2)demotest 数据库中可看到已同步的 2 张表。

    「S产品」对应的目标表「S产品_2」表信息如下图所示:

    6.png

    3)由于 2.3.4 节,结果通知中我们设置源表结构变化进行通知。所以,demo1 数据库中的S产品」中,我们新增一个字段 test,将收到通知:

    1761530933466895.png

    「S产品_2」表中新增了一个 test 字段。如下图所示:

    10.png

    2.5 管道任务运维

    点击「运维中心>实时管道」,可查看任务运行状态、数据同步性能、检查异常情况、以及对异常进行处理等。如下图所示:

    详情请参见:管道任务运维

    8.png

    2.6 修改管道任务配置

    实时管道任务运行一段时间后,想新增/删除表对象、修改任务控制(2.3.4节)、修改高级设置(2.3.2节)、修改同步方式等,可参考 管理实时管道任务 进行操作。

    9.png




    附件列表


    主题: 数据管道
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持