當(dāng)前位置:首頁 > IT技術(shù) > 其他 > 正文

ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12
2022-09-06 22:48:59


文章目錄

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

Oracle同步Mysql演示

idno采用序列自增

添加項目

ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增

AutoIncrID-Project

ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增_02


ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_數(shù)據(jù)_03

添加模板

ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增_04


ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增ID增同步_05


ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增ID增同步_06


構(gòu)建reader,添加增量同步SQL

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

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

ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增ID增同步_07

構(gòu)建writer

ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增ID增同步_08

ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增_09


ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增_10


ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增ID增同步_11


ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_字符串_12

ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增ID增同步_13

編輯任務(wù)

ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增ID增同步_14


修改任務(wù)名稱

輔助參數(shù)選擇主鍵自增

ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增ID增同步_15

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

# 表名
otbs1

#主鍵

ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增_16


ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_字符串_17

ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_字符串_18


ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增_19

清理數(shù)據(jù)

將Mysql數(shù)據(jù)庫中的otbs1數(shù)據(jù)清空

ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增_20


執(zhí)行一次

ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增ID增同步_21

ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增ID增同步_22


ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_字符串_23


ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增_24

查看實(shí)時日志,任務(wù)尚未執(zhí)行完成,需要手動點(diǎn)擊【刷新日志】

ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增_25


ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_字符串_26


ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_字符串_27


ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增_28


Mysql最大的idno是1048576

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

刷新頁面,點(diǎn)擊編輯

ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_數(shù)據(jù)_29


ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增_30


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

插入數(shù)據(jù)

-- 初始化數(shù)據(jù)
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異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_字符串_31


ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_字符串_32


ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_數(shù)據(jù)_33


ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增_34

ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增ID增同步_35


ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_自增_36


ETL異構(gòu)數(shù)據(jù)源Datax_自增ID增量同步_12_數(shù)據(jù)_37


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

開通會員,享受整站包年服務(wù)立即開通 >