開發與維運

DataWorks百問百答56:數據集成同步中的增量同步功能如何配置?

背景

數據集成同步中的增量同步功能在現在很多用戶日常的任務中佔據的比例越來越多,意義很多時候比全量同步還大,但是很多用戶在使用增量同時,遇到了不知道該如何配置參數的問題,面對紛繁複雜的數據庫種類,每種類型都略有不同。下面就給您介紹一下使用不同數據庫時可以使用的增量查詢條件,乾貨滿滿,可以收藏保存。

數據源配置技巧

image.png
如圖,具備增量同步的數據源都需要在數據過濾的地方填寫對應的過濾語句,您可以通過數據表的時間列(比如gmt_modify、gmt_update)獲取某一個時間範圍內的增量數據(示例中為天增量${bizdate},您可以配合其他調度參數做小時增量),不同數據庫的增量查詢where條件略有區別。具體參考如下:

MySQL、DRDS、ADS、AnalyticDB for MySQL、PolarDB(MySQL引擎)、HybridDB for MySQL

STR_TO_DATE('${bizdate}', '%Y%m%d') <= 
增量時間列 AND 增量時間列 
< DATE_ADD(STR_TO_DATE('${bizdate}', '%Y%m%d'), interval 1 day)

Oracle、PostgreSQL

TO_DATE('${bizdate}', 'yyyymmdd') <= 
增量時間列 AND 增量時間列 
< TO_DATE('${bizdate}', 'yyyymmdd') + 1

SQL Server

CONVERT(datetime, '${bizdate}') <= 
增量時間列 AND 增量時間列 
< DATEADD(day, 1, CONVERT(datetime, '${bizdate}'))

調度配置關鍵步驟

配置好同步過濾參數後,對於調度也是要打好配合的,上面實例選擇的按天進行過濾數據,那麼同樣的調度參數裡我們也要設置為按天調度:
image.png

關鍵參數如下:

參數 含義
生成實例方式 【T+1次日生成】:任務發佈後的第二天才會有對應的實例開始執行
【發佈後即時生成】:如果任務發佈的當前時間在允許調度執行的時間之前,那麼立刻就生成實例,在調度時間到達後實例就會執行,否則不生成實例。
調度週期 設置按照“分、小時、日、周、月”這樣的週期循環單位
具體時間 在設置完調度週期之後,設置每一個週期裡具體調度的時間點

最後發佈或者提交之後,在運維就可以看到實例了,然後每個循環週期都會對應的生成,並執行增量同步任務。

總結

一句話,在數據集成中的將過濾的增量數據設置,同調度的週期保持一致,即可以保證不遺漏任何增量,按期所有數據妥妥入庫,您Get到了嗎?

DataWorks百問百答歷史記錄 請點擊這裡查看>>

更多DataWorks技術和產品信息,歡迎加入【DataWorks釘釘交流群】

Leave a Reply

Your email address will not be published. Required fields are marked *