您当前的位置: 首页 >  apache

Bulut0907

暂无认证

  • 1浏览

    0关注

    346博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Apache DolphinScheduler的工作流传参

Bulut0907 发布时间:2022-08-11 09:21:19 ,浏览量:1

目录
  • 1. 本地参数
  • 2. 全局参数
  • 3. 上下游参数传递
  • 4. 参数的优先级
  • 5. 内置参数

1. 本地参数

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

本地参数

2. 全局参数

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

全局参数

3. 上下游参数传递

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

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

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

下游获取参数

4. 参数的优先级

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

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

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

基础内置参数

变量名声明方式含义system.biz.date${system.biz.date}日常调度实例定时的定时时间前一天,格式为yyyyMMddsystem.biz.curdate${system.biz.curdate}日常调度实例定时的定时时间,格式为yyyyMMddsystem.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]

使用示例如下

使用示例

关注
打赏
1664501120
查看更多评论
立即登录/注册

微信扫码登录

0.0381s