码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Apache DolphinScheduler的工作流传参


    目录

    • 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}日常调度实例定时的定时时间前一天,格式为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]

    使用示例如下

    使用示例

  • 相关阅读:
    Matlab基本语法(二)
    注解版本-分析Spring容器创建流程
    Web之CSS笔记
    2023学年持IB成绩申请NTU入学流程指南
    分类预测 | Matlab实现WOA-GRU鲸鱼算法优化门控循环单元的数据多输入分类预测
    【Node.js】深度解析模块化的那些事
    弘辽科技:淘宝免费流量扶持怎么用?新店流量扶持规则是啥?
    二十三种设计模式
    Spring注解驱动之自定义组件中如何注入Spring底层的组件
    【c++入门(2)】关联容器map
  • 原文地址:https://blog.csdn.net/yy8623977/article/details/126244549
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号