Dolphinscheduler 3.2.0版本参数传递并使用switch任务进行判断

原文阅读:【巨人肩膀社区·博客·分享】3.2.0版本参数传递并使用switch任务进行判断

目标:根据日期判断执行哪项子任务

image.png



调度器版本:3.2.0

在这个版本中官方支持的参数传递任务类型有6中,分别为shell,sql,procedure,python,subprocess,kubernetes。

失败样例

Switch任务是根据全局变量的值进行判断的,无法直接使用上游传递的参数,同时,如果使用任务的全局参数(dt=$[dd])做传递,参数传递成功,但是判断语句取用的是“$[dd]”,无法做到判断,样例如下:

Switch任务的语句判断:

image.png



任务全局参数设置

image.png



执行日志:

image.png





image.png



可以看到全局参数的传递获取到了当前日期,但之后任务判断语句的传递中成功,这个不清楚原因,猜测可能是语法问题。

成功样例

借助Shell和SubProcess完成日期参数的传递。使用shell获取日期,并设置传递参数到下游SubProcess任务中,将判断任务单独创建一个工作流,把判断工作流放在SubProcess任务中,这样完成了日期参数的传递及判断。

1、创建判断任务的工作流

image.png



设置判断条件

image.png



2、创建获取日期的Shell任务,设置传递参数

image.png



3、创建SubProcess任务,将日期判断任务添加到子任务中

image.png



4、执行日志

Shell任务获取日期成功

image.png



SubProcess任务获取到上游Shell任务传递的日期参数(dt=29),并传递给子任务



image.png

子任务中判断节点获取到dt参数值



image.png



判断部分读取dt参数

image.png



判断成功,执行符合条件的下游节点任务

image.png

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值