• 當前位置:首頁 > IT技術 > 其他 > 正文

    ETL異構數據源Datax_自增ID增量同步_12
    2022-09-06 22:48:59


    文章目錄

    增量同步方法
    1.先同步存量數據
    2.再同步增量數據(根據自增ID、日期條件)
    前提條件:
    1.只針對數據增長,如果老數據被update/delete則無法使用增量同步方式。
    基于主鍵自增ID增量同步

    Oracle同步Mysql演示

    idno采用序列自增

    添加項目

    ETL異構數據源Datax_自增ID增量同步_12_自增

    AutoIncrID-Project

    ETL異構數據源Datax_自增ID增量同步_12_自增_02


    ETL異構數據源Datax_自增ID增量同步_12_數據_03

    添加模板

    ETL異構數據源Datax_自增ID增量同步_12_自增_04


    ETL異構數據源Datax_自增ID增量同步_12_自增ID增同步_05


    ETL異構數據源Datax_自增ID增量同步_12_自增ID增同步_06


    構建reader,添加增量同步SQL

    select IDNO,COL1,COL2,COL3,DT,COL5,COL6,COL7,COL8,COL9,COL10 from otbs1 where idno > ${startId} and idno <= ${endId}

    說明:
    采用的是左開右閉 同步原則:
    大于0小于等于當前最大max(idno)(0,1048576]
    左閉右閉和左閉右開 都存在數據缺失和重復數據的現象!

    ETL異構數據源Datax_自增ID增量同步_12_自增ID增同步_07

    構建writer

    ETL異構數據源Datax_自增ID增量同步_12_自增ID增同步_08

    ETL異構數據源Datax_自增ID增量同步_12_自增_09


    ETL異構數據源Datax_自增ID增量同步_12_自增_10


    ETL異構數據源Datax_自增ID增量同步_12_自增ID增同步_11


    ETL異構數據源Datax_自增ID增量同步_12_字符串_12

    ETL異構數據源Datax_自增ID增量同步_12_自增ID增同步_13

    編輯任務

    ETL異構數據源Datax_自增ID增量同步_12_自增ID增同步_14


    修改任務名稱

    輔助參數選擇主鍵自增

    ETL異構數據源Datax_自增ID增量同步_12_自增ID增同步_15

    -DstartId='%s' -DendId='%s'

    # 表名
    otbs1

    #主鍵

    ETL異構數據源Datax_自增ID增量同步_12_自增_16


    ETL異構數據源Datax_自增ID增量同步_12_字符串_17

    ETL異構數據源Datax_自增ID增量同步_12_字符串_18


    ETL異構數據源Datax_自增ID增量同步_12_自增_19

    清理數據

    將Mysql數據庫中的otbs1數據清空

    ETL異構數據源Datax_自增ID增量同步_12_自增_20


    執行一次

    ETL異構數據源Datax_自增ID增量同步_12_自增ID增同步_21

    ETL異構數據源Datax_自增ID增量同步_12_自增ID增同步_22


    ETL異構數據源Datax_自增ID增量同步_12_字符串_23


    ETL異構數據源Datax_自增ID增量同步_12_自增_24

    查看實時日志,任務尚未執行完成,需要手動點擊【刷新日志】

    ETL異構數據源Datax_自增ID增量同步_12_自增_25


    ETL異構數據源Datax_自增ID增量同步_12_字符串_26


    ETL異構數據源Datax_自增ID增量同步_12_字符串_27


    ETL異構數據源Datax_自增ID增量同步_12_自增_28


    Mysql最大的idno是1048576

    上面是第一次同步存量數據,下一次同步應該是大于1048576小于 最大的idno,如果單獨使用datax需要自己設置,datax-web幫我們做了這個事情。

    刷新頁面,點擊編輯

    ETL異構數據源Datax_自增ID增量同步_12_數據_29


    ETL異構數據源Datax_自增ID增量同步_12_自增_30


    在Oracle數據中的otbs1表中添加一條數據,這是同步應該是同步(1048576,max(idno)]簡言之(1048576,1048577],同步數量為1條,對吧!

    插入數據

    -- 初始化數據
    insert into OTBS1 (IDNO,COL1, COL2, COL3, DT, COL5,COL6, COL7,COL8, COL9, COL10)
    Values (1048577,'字符串1', 1, 1696248667889, sysdate,3.141592653578,'字符串2','字符串3','字符串4','字符串5','字符串6');

    ETL異構數據源Datax_自增ID增量同步_12_字符串_31


    ETL異構數據源Datax_自增ID增量同步_12_字符串_32


    ETL異構數據源Datax_自增ID增量同步_12_數據_33


    ETL異構數據源Datax_自增ID增量同步_12_自增_34

    ETL異構數據源Datax_自增ID增量同步_12_自增ID增同步_35


    ETL異構數據源Datax_自增ID增量同步_12_自增_36


    ETL異構數據源Datax_自增ID增量同步_12_數據_37


    本文摘自 :https://blog.51cto.com/g

    開通會員,享受整站包年服務
    国产呦精品一区二区三区网站|久久www免费人咸|精品无码人妻一区二区|久99久热只有精品国产15|中文字幕亚洲无线码