Apache DolphinScheduler的工作流传参

1. 本地参数

本地参数:作用于工作流的当前任务节点,在任务定义页面进行配置。如下所示,其中IN表示本地参数

本地参数

2. 全局参数

全局参数:作用于工作流的所有任务节点有效。在保存工作流的时候进行设置

全局参数

3. 上下游参数传递

目前支持的任务类型有:Shell、SQL、Procedure。本文以Shell进行讲解

上游进行参数传递,如下所示。通过echo '${setValue(key=value)}'进行key和value的设置,再通过OUT的方式将key传递到下游

上游进行参数传递
下游直接进行参数的获取即可,如下所示

下游获取参数

4. 参数的优先级

当参数名相同时,参数的优先级从高到低为:本地参数 > 上游任务传递的参数 > 全局参数

当多个上游传递的参数名称相同时:

  • 下游节点会优先使用值为非空的参数
  • 如果有多个值为非空的参数,则优先选择完成早的上游任务对应的参数

5. 内置参数

基础内置参数

变量名声明方式含义
system.biz.date${system.biz.date}日常调度实例定时的定时时间前一天,格式为yyyyMMdd
system.biz.curdate${system.biz.curdate}日常调度实例定时的定时时间,格式为yyyyMMdd
system.datetime${system.datetime}日常调度实例定时的定时时间,格式为yyyyMMddHHmmss

衍生内置参数

  • 支持代码中自定义变量名,声明方式:${变量名}
  • $[yyyyMMddHHmmss]是可以任意分解组合的,比如:$[yyyyMMdd]$[HHmmss]$[yyyy-MM-dd]

还可以通过以下两种方式:

  • 使用add_months()函数,该函数用于加减月份, 第一个入口参数为[yyyyMMdd],表示返回时间的格式,第二个入口参数为月份偏移量,表示加减多少个月

    • 后N年:$[add_months(yyyyMMdd,12*N)]
    • 前N年:$[add_months(yyyyMMdd,-12*N)]
    • 后N月:$[add_months(yyyyMMdd,N)]
    • 前N月:$[add_months(yyyyMMdd,-N)]
  • 在自定义格式后直接“+/-”数字,单位为天

    • 后N周:$[yyyyMMdd+7*N]
    • 前N周:$[yyyyMMdd-7*N]
    • 后N天:$[yyyyMMdd+N]
    • 前N天:$[yyyyMMdd-N]
    • 后N小时:$[HHmmss+N/24]
    • 前N小时:$[HHmmss-N/24]
    • 后N分钟:$[HHmmss+N/24/60]
    • 前N分钟:$[HHmmss-N/24/60]

使用示例如下

使用示例

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值