数据比对更新同步

  • 文档创建者:Roxy
  • 历史版本:8
  • 最近更新:Wendy123456 于 2023-06-20
  • 1. 概述

    有时数据可能不仅仅会有新增,还可能会有修改、删除,这时候我们希望能够对数据进行比对更新,保证数据的变化同步到目标表中。

    4.0.18 及之后版本,「数据转换」节点移除「比对删除」算子,新增「数据比对」算子,通过「数据比对」+「DB表输出」的组合方式,可完成增量插入、删除、更新的操作。所以本文针对 FineDataLink 的不同版本提供方案。

    2. 示例一:4.0.18 及之后版本

    2.1 物理删除

    若来源表中删除数据,目标表中也删除数据。参见文档:数据比对

    2.2 逻辑删除

    若来源表中删除数据,目标表中将被删除的数据标记,不实际删除。参见文档:逻辑删除

    3. 示例二:4.0.18 之前版本

    3.1 场景模拟

    数据来源表「出入库信息」,昨天新增两条数据,序号分别为 9 和 10,删除序号为 6 的数据,序号为 7 的数据「出库数量」变为 102 。

    希望这些数据变化能更新到「目标表」中。如下图所示:

    48.png

    示例数据:出入库信息.xls目标表.xls

    3.2 实现思路

    • 通过数据同步节点,将来源表「出入库信息」中新增和更改的数据更新到目标表中。

    • 通过「比对删除」算子,将来源表中删除的数据从目标表中剔除。

    1686885610540277.png

    3.3 将「出入库信息」中新增和更新数据更新至目标表

    1)新建一个定时任务,将一个「数据同步」节点拖到设计界面,并对该节点进行设置。如下图所示:

    50.png

    2)通过对比目标表和数据来源表中的「序号」字段,将数据来源表中新增和更新的数据更新到目标表中。

    如果存在来源表「出入库信息」中有但是「目标表」中没有的「序号」,则将这些数据更新至「目标表」,同时当遇到来源表和目标表的序号相同时,会将来源表「出入库信息」中的数据覆盖更新到目标表。

    如下图所示:

    51.png

    3.4 将来源表中删除的数据从目标表中删除

    本节步骤目的:通过「数据转换」节点中的「比对删除」算子,将来源表中删除的数据从目标表中剔除。

    1)将一个「数据转换」节点拖到设计界面,并与「数据同步」节点相连。如下图所示:

    52.png

    2)点击「数据转换」节点进入设置页面,添加「DB表输入」算子。

    查询出来源表「出入库信息」中的数据,如下图所示:

    53.png

    3)再添加一个「比对删除」算子,与「DB表输入」算子相连。

    对于「对比删除」算子,通过设置对比字段为「序号」,进行数据对比,若「目标表」中存在来源表「出入库信息」中没有的序号,则会将「目标表」中的该条数据删除,然后点击右上角「确定」按钮,如下图所示:

    54.png

    3.5 设置定时更新

    1)点击「调度配置」,设置任务定时执行时间。让该任务每天在指定时间运行一次,如下图所示:

    注:用户根据实际情况设置执行时间。

    55.png

    2)点击右上角保存按钮。

    56.png

    3.6 效果查看

    任务执行后,目标表数据如下图所示:

    1686885913713288.png




    附件列表


    主题: 数据开发-定时任务
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!