大數據

DataWorks百問百答30:如何實現判斷上游表有產出分區再同步數據?

場景:

上游表並非每天都有產出,不定期,希望有產出就同步一下,沒有就不同步,不阻塞任務。如果直接配上下游的任務依賴,在沒有產出分區的時候會報找不到分區的錯。

301.png

實現:

賦值+分支節點實現,歸併節點後可繼續下游的其他任務。

302.png

**

賦值節點:

get_dt
獲取最新分區

303.png

SELECT distinct dt FROM onaliyun_sanzhuang_tmp WHERE dt=max_pt('onaliyun_sanzhuang_tmp');

分支節點:

dt_true_false
最新分區等於bizdate,走同步的分支
最新分區不等於bizdate,走shell的分支(任意echo 1;)

304.png

運行日誌:

305.png

下游分支:

分支1:to_mysql  分支2:empty
empty實例狀態:分支未被選中。任務不會運行,實例會置成功。
to_mysql實例狀態:實例運行成功。業務跑了該分支,20200528分區的wangwu和zhaoliu記錄被同步過來了。

306.png

歸併節點:

next
繼續下游的其他任務。

307.png

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

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

Leave a Reply

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