DataWorks百问百答30:如何实现判断上游表有产出分区再同步数据?

场景:

上游表并非每天都有产出,不定期,希望有产出就同步一下,没有就不同步,不阻塞任务。如果直接配上下游的任务依赖,在没有产出分区的时候会报找不到分区的错。

DataWorks百问百答30:如何实现判断上游表有产出分区再同步数据?


实现:

赋值+分支节点实现,归并节点后可继续下游的其他任务。

DataWorks百问百答30:如何实现判断上游表有产出分区再同步数据?


**

赋值节点:

get_dt
获取最新分区

DataWorks百问百答30:如何实现判断上游表有产出分区再同步数据?

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

分支节点:

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

DataWorks百问百答30:如何实现判断上游表有产出分区再同步数据?


运行日志:

DataWorks百问百答30:如何实现判断上游表有产出分区再同步数据?

下游分支:

分支1:to_mysql  分支2:empty
empty实例状态:分支未被选中。任务不会运行,实例会置成功。
to_mysql实例状态:实例运行成功。业务跑了该分支,20200528分区的wangwu和zhaoliu记录被同步过来了。

DataWorks百问百答30:如何实现判断上游表有产出分区再同步数据?

归并节点:

next
继续下游的其他任务。

DataWorks百问百答30:如何实现判断上游表有产出分区再同步数据?

DataWorks百问百答历史记录 请点击这里查看>>

更多DataWorks技术和产品信息,欢迎加入【DataWorks钉钉交流群】

上一篇:DataWorks OpenAPI实现数据资产分布和排行分析


下一篇:DataWorks百问百答31:如何在数据集成mysql-to-odps中将timestamp时间戳类型数据同步为odps的datetime类型?