00:00
嗯,好了各位啊,那咱们搞清楚了这个本地和全局传递参,呃全递参数,呃,本地和全局参数之后呢,我们再来搞清楚下一个问题,也就是啥呢?哎,就是关于咱们这个上下游穿盘。能对吧,上下游传单刚才提到了,就是说我们在传参的时候呢,我可以给当前节点传参,也可以给啥,也可以给下游的节点传参,对吧?好了,那这个怎么去传呢?来,那现在我们看一下文档当中的描述啊好了,他说了dolphin sc呢,是支持上游任务节点向下游任务节点传参的。OK,好,那我刚才提到了,就是这个功能在什么情况下会有用呢?哎,就是说当我下游的节点对吧,我需要根据上游节点的这个输出对吧?诶去做出进一步的判断对吧?然后呢,去执行不同的工作的时候,OK,那这个上下游传三是不是就非常有用了,对吧?比如在这儿呢,我们就能实现一个这样的功能了啊,比如说上游节点我输出一个零,那我这个下游节点我就怎么怎么做对吧,上游节点如果输出一个一,那我下游节点我就怎么怎么做,对他是不是能够实现一个这样的一个功能啊。
01:12
能理解吧,各位,这个是不是非常的方便,没错吧?哎,好了啊,那这是咱们这个上下游传参的一个应用场景,咱们先给它搞清楚好了,那接下来呢,再来看一看啊,那我们这块到底怎么去做这个上下游传单,OK,你要注意的一点是什么?目前啊,这个DS当中不是所有的任务类型都支持上下游分分只有谁支持,只有这三种是支持的。哪三种?一个是shell类型的任务,还有一个呢,是circle类型的任务,还有一个呢,是这个存储过,呃,存储过程类型的一个任务那里吧,只有这三种任务类型是支持上下游分团的,你比如举个例子啊,假如说我这儿呢,是一个map pro6任务,能理解吧,它能够把上游的结果传给下游吗?是不能的。能理解吧,这个一定要注意,只有这三种类型支持上下轮参好了,那接下来呢,我们就以当前的这个shell类型的任务,诶,进行这个上下游传参的演示,给大家演示一下这个到底怎么去传啊,啊其实挺简单的,那比如说在这儿呢,我们呃实现一个这样的效果啊,我们让A节点对吧,给我们的C节点传参。
02:19
能理解吧,那那是不是就是我们当前还是进到这个工作流啊,咱们点点完之后是不是就让A节点给这个C节点传参啊,上游给下游传参嘛,对不对,好,那看一看这块怎么传啊。其实也不难啊,来,咱们打开这个A节点的编辑界面,我们要想让这个呃,所谓的A节点对吧,给我们的这个C节点传参,那这会儿咱们得怎么做呢?那非常简单,比如说我想给下游传一个具体的参数,咱们传什么参数呢?很简单,比如说在这儿呢,咱们点击添加,添加点添加完之后呢,里边你得传啥的,比如随便来一个,咱们就随便来一个参数名就行了,比如说我们就TS。啊,这个传对吧,就是一个参数对吧?哎,传递就是传递的意思啊,那我们这随便起一个名字叫啊,然后往下走,注意这回你给它传参,你这块得传什么,得传out了吧。
03:09
能理解吧,各位同学,哎,这个得是out,是给下游穿三了啊,那这个类型呢,其实根据具体情况定就行了,对吧,那完之后重点是这个值,同学们你给下游存三,你这个值咱们写啥呀。这个值写什么呀?哎,那有的可能说了,我这能不能随便写一个123的可以,你随便写个123可以,那下边呢,我接收到的值就是123,但是我们正常情况下,你想啊,咱这个值肯定得由什么决定,正常是不是得肯定得由你这个任务决定啊,对吧。能理解吧,我得根据任务的执行结果对吧,去决定我到底是给下游传什么参。那如果比如说我这个任务执行结果是零,哎,那我就传零对吧,那如果这个任务结果是一对吧,我就传一,理论上是不是得由任务去决定我给下游传什么参数。能理解吧,OK,好,那现在问题这个值到底怎么传呢?很简单,固定的写法啊,这边呢。
04:05
我们可以在这个shallll任务里边最后一行,咱们写上一个这样的语句,各位同学咱们来看一下,那这个语句是什么呢?啊,就是E口,然后后边的是一个引号啊,里边呢是s value,里边的是K等于value。那这是一个固定的一个写法,那也OK,好,那就在这儿呢,K应该是什么?就是你这个参数的这个K,那值呢,值你就可以随便写了,对吧,这个当然同学们你说应该根据什么决定,是不是根据你这个任务的执行情况去做这个决定啊,对吧?比如在这儿咱们传一个2020杠零六杠幺六,这个就随便传一个就行了啊,那在这正常情况下,你可以怎么写,你可以来一个if对吧,If怎么怎么样,那我就给他传一个什么样的值,对吧?哎哎,Else,那完之后呢,我就给他传一个什么什么样的纸,是不是可以这样动态的给下边去传递啊对吧,能理解吧,是这样的,OK,其实它这个shell类型的这个上下游传承的任务,这个底层原理是什么样的,其实很简单啊,它实际上呢,是会在你这个任务的输出当中去寻找这样的一个set value的字符串,它会去找,找到之后呢,会解析这里边的值,然后呢传给下游,它实际上底层是这么去完成这个工作的啊,那所以在这呢,咱们需要给他编写一个EQ语句啊,这个大家注意一下就行了啊,其实特简单啊。
05:20
行了,那这边呢,我们是不是就可以根据任务的执行情况对吧?诶往我们的下游去传递这个具体的参数了,对不对,OK,好,那现在咱们这儿呢,就可以给他,呃给CTRLC保存一下了,好了,那保存完之后,同学们你说我下游就可以干啥了。我下游我是不是就能够引用咱上面那个参数了,回头吧,OK啊好了,那咱们引用很简单,直接就是依靠咱们这个Dollar这个T就行了,直接就正常跟引用你这个全局或者是引用本地参数是一样的,就通过花括号去引用就行了,行了,完了之后我们点击确认添加,行了,同学们,那现在咱们这个工作流呢,点击保存,点击添加,诶同学们你想一想,当一会儿咱们这个工作流运行完之后,我们怎么看效果。
06:04
如果C这边能打印出来那个什么2020杠零六杠幺六,那是不是就意味着我们这个上下游的船餐成功了,对不对,那接下来咱们测试一下啊来,那现在呢,我们点击上线啊,点击运行,哎,点击运行对吧,然后呢,看一下这个最终的效果啊好,这个正在运行,诶已经执行完毕了,点击实例,然后呢,点击note c对吧?然后呢,点击它的日志往下翻。诶各位你看这边是不是咱们接收到了上游传过来的零六杠幺六的参数了呀,对不对,那就说明咱现在这个所谓的上下游传参这个工作,哎,咱们就完成了,这个功能咱们就完成了啊,其实非常非常的简单啊,行了,那上下游传参都完事了,那之后呢,我把视频停一下啊。
我来说两句