DolphinScheduler 进阶(工作流传参)

本地参数和全局参数

DolphinScheduler 支持对任务节点进行灵活的传参,任务节点可通过 ${参数名} 引用参数值。

本地参数

本地参数是指只针对单个任务节点有效的参数。

(1)修改 helloworld 工作流 Node-A 节点如下

在这里插入图片描述

➢ dt:参数名
➢ IN/OUT:IN 表示向当前节点传参,OUT 表示向下游节点传参
➢ VARCHAR:参数值类型
➢ 2022-09-20:参数值

(2)保存工作流并运行,查看 Node-A 输出日志。

在这里插入图片描述

全局参数

全局参数是指针对整个工作流的所有任务节点都有效的参数。

(1)修改 helloworld 工作流每个任务节点如下

节点 A 配置

在这里插入图片描述

节点 B 配置

在这里插入图片描述

节点 C 配置

在这里插入图片描述

(2)保存工作流,并设置全局参数

在这里插入图片描述

(3)执行工作流,查看三个任务节点输出日志。

Node-A

在这里插入图片描述

Node-B

在这里插入图片描述

Node-C

在这里插入图片描述

参数传递

DolphinScheduler 支持上游任务节点向下游任务节点传参。目前支持这个特性的任务类型有:Shell、SQL、Procedure。

以下案例使用 Shell 类型的任务节点进行演示。

1)设置上游节点 Node-A

在这里插入图片描述

注:echo '${setValue(key=value)}'为固定写法

2)设置下游节点 Node-C

在这里插入图片描述

3)查看输出日志

可以看到对应节点日志中输出了其调用参数的值。

在这里插入图片描述

参数优先级

一个任务节点引用的参数可能来自三种类型:分别是全局参数 、上游任务传递的参数、本地参数。因为参数的值存在多个来源,当参数名相同时,就需要考虑参数优先级的问题。

DolphinScheduler 参数的优先级从低到高为: 全局参数 <上游任务传递的参数 <本地参数。 在上游任务传递的参数的情况下,由于上游可能存在多个任务向下游传递参数。当上游传递的参数名称相同时:下游节点会优先使用值为非空的参数。如果存在多个值为非空的参数,则按照上游任务的完成时间排序,选择完成时间最早的上游任务对应的参数。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值