反馈已提交

网络繁忙

数据增量更新同步

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

    1.1 应用场景

    本文适用于新增数据的场景,若数据被修改、删除,需参见文档:数据比对

    更多数据同步方案请参见:数据同步方案概述

    1.2 方案简介

    在数据同步时,为了保证数据时效性,有时我们需要对数据定时进行增量更新,比如每天将新增的一部分数据(来源表)更新至目标数据表中。

    数据的增量更新可以根据用户的实际数据情况分为三种:

    场景
    更新方式

    来源表有时间戳字段

    定时同步(本文第二章)
    来源表没有时间戳字段,但是有唯一标识定时同步(本文第三章)
    来源表没有时间戳字段,并且没有唯一标识实时同步(本文第四章)

    本文示例可参见:https://demo.finedatalink.com/ 「数据增量同步更新」

    2. 来源表有时间戳

    若来源表有时间戳,可以使用「参数赋值」节点获取目标表时间戳最大值,再使用数据同步」节点获取增量数据做增量更新。

    2.1 示例说明

    来源表为 demo_ods_huabeicaiwu ,目标表为 dw_caiwu ,都包含时间戳订单生成时间」。如下图所示:

    1717586522304573.png

    若目标表中订单生成时间」的最大值,小于来源表的订单生成时间」,说明来源表存在新增数据,需要将新增数据同步到目标表中。

    2.2 获取目标表最晚时间

    使用「参数赋值」节点,取出目标表中「订单生成时间」的最大值,将其设置为 time 参数。如下图所示:

    select max(订单生成时间) from `demo2`.`dw_caiwu`

    3.png

    2.3 将新增的数据更新至目标表中

    1)拖入一个「数据同步」节点,与参数赋值」节点相连。

    2)数据同步节点中,将来源表「订单生成时间」大于 time 参数的数据取出,同步到目标表中。如下图所示:

    select * from `demo1`.`demo_ods_huabeicaiwu`  where 订单生成时间 > '${time}'

    4.png

    3)由于同步的数据是新增数据,追加写入数据即可;逻辑主键可不设置,为空表示直接追加写入数据。如下图所示:

    注:写入方式更多介绍请参见:数据同步-写入方式

    1710828670555004.png

    4)可设置定时任务的执行频率,例如若希望每天将新增数据同步到目标表中,可设置一天执行一次。

    点击右上角调度计划按钮,设置执行频率。如下图所示:

    1710819951659833.png

    3. 来源表无时间戳但有唯一标识

    适用场景:来源表有主键或逻辑主键,但是不能通过时间戳进行增量更新。

    注:用户根据实际情况修改 SQL 语句。

    3.1 示例说明

    来源表为 jdy_order ,目标表为 order_mubiao 。

    由于来源表中没有时间字段,或者时间字段不能作为更新标识,但有逻辑主键 orderid 字段。如下图所示:

    1717586609804111.png

    增量同步方案说明:

    • 使用「参数赋值」节点获取目标表内唯一标识 orderid。

    • 再获取来源表中存在但是目标表中没有的 orderid (也就是需要同步至目标表的新增数据)对应的数据,将这部分数据使用数据同步」节点同步至目标表,完成增量更新。

    3.1 获取目标表中唯一标识字段

    使用「参数赋值」节点,获取目标表 order_mubiao 内唯一标识 orderid,将其作为参数。如下图所示:

    1710827679552965.png

    3.2 将新增数据更新至目标表

    1)拖入一个「数据同步」节点,与参数赋值」节点相连。

    2)「数据同步」节点中,获取来源表中存在但是目标表中没有的 orderid (也就是需要同步至目标表的新增数据)对应的数据,将这部分数据使用「数据同步」节点同步至目标表,完成增量更新。如下图所示:

    9.png

    3)由于同步的数据是新增数据,追加写入数据即可;逻辑主键可不设置,为空表示直接追加写入数据。如下图所示:

    注:写入方式更多介绍请参见:数据同步-写入方式

    1710828580246639.png

    4)可设置定时任务的执行频率,例如若希望每天将新增数据同步到目标表中,可设置一天执行一次。

    点击右上角「调度计划」按钮,设置执行频率。如下图所示:

    1710828116120110.png

    4. 来源表没有时间戳和唯一标识

    建议使用数据管道进行实时增量更新,详情参见:数据管道概述




    附件列表


    主题: 最佳实践
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

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

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

    不再提示

    10s后关闭



    AI

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