分支节点是DataStudio中提供的逻辑控制系列节点中的一类。分支节点可以定义分支逻辑和不同逻辑条件时下游分支走向。
前提条件
-
您需要购买DataWorks标准版及以上版本,才可以使用分支节点功能。
-
通常分支节点需要配合赋值节点使用,详情请参见赋值节点。
创建分支节点
-
进入数据开发页面。
-
登录DataWorks控制台。
-
在左侧导航栏,单击工作空间列表。
-
选择工作空间所在地域后,单击相应工作空间后的快速进入 > 数据开发。
-
-
鼠标悬停至
图标,单击新建节点 > 通用 > 分支节点。
您也可以打开相应的业务流程,右键单击通用,选择新建节点 > 分支节点。
-
在新建节点对话框中,输入节点名称,并选择路径。
-
单击确认。
-
定义分支逻辑。
-
在分支逻辑定义页面,单击添加分支。
-
在配置分支定义对话框中,配置各项参数。
参数
描述
分支条件
分支条件的说明如下:
-
分支条件仅支持按照Python比较运算符定义逻辑判断条件。
-
如果运行态表达式取值为true,表示满足对应的分支条件。
-
如果运行态表达式解析报错,会将整个分支节点运行状态置为失败。
-
分支条件中支持使用全局变量和节点上下文定义的参数。例如,${input}可以是定义在分支节点的节点输入参数。
关联到节点输出
关联到节点输出的说明如下:
-
节点输出供分支节点下游节点挂载依赖关系使用。
-
满足分支条件时,对应的关联的节点输出上挂载的下游节点被选中运行(同时需要参考该节点依赖的其它上游节点的状态)。
-
不满足分支条件时,对应的关联的节点输出上挂载的下游节点不会被选中执行,该下游节点会被置成
因为分支条件不满足而未运行
的状态。
分支描述
对分支的定义进行简要说明。例如,定义${input}==1和${input}>2两个分支。
关联到节点输出的示例如下。
例如,分支节点下游关联两个节点,节点名称分别为qqqq和wwww。当分支条件为1时,以qqqq节点逻辑运行。当分支条件为2时,以wwww节点逻辑运行。则配置分支节点时,关联到节点输出可以随便配置。例如,分支1关联节点输出为1234,分支2关联节点输出为2324,则均会作为本分支节点的输出名称。下游qqqq节点需要挂载分支节点的输出名称1234,wwww节点需要挂载分支节点的输出名称2324。
-
-
单击确认。
添加分支后,您可以进行编辑和删除操作:
-
单击编辑,可以修改设置的分支,并且相关的依赖关系也会改动。
-
单击删除,可以删除设置的分支,并且相关的依赖关系也会改动。
-
-
-
单击节点编辑区域右侧的调度配置,配置节点的调度属性。
定义好分支条件后,会在调度配置 > 调度依赖区域的本节点的输出中,自动添加输出名称。下游节点可以通过输出名称进行依赖挂载。
说明
-
由于空跑属性会向下传递,不建议放置自依赖的任务在分支链路上。是否沿沿空跑属性,详情请参见是否沿用上游的空跑属性。
-
如果连线建立上下文的依赖,在调度配置中没有输出记录,请手动输入。
-
- 提交节点。重要 您需要设置节点的重跑属性和依赖的上游节点,才可以提交节点。
- 单击工具栏中的
图标。
- 在提交新版本对话框中,输入备注。
- 单击确认。
如果您使用的是标准模式的工作空间,提交成功后,请单击右上方的发布。具体操作请参见发布任务。
- 单击工具栏中的
- 测试节点,详情请参见查看并管理周期任务。
输出示例:下游节点挂载分支节点
在下游节点中,添加分支节点做为上游节点后,通过选择对应的分支节点输出来定义不同条件下的分支走向。例如在下图所示的业务流程中,分支1和分支2均为分支节点的两个下游节点。
分支1:依赖于autotest.fenzhi121902_1输出。
分支2:依赖于autotest.fenzhi121902_2输出。
提交调度至运维中心运行,分支节点满足条件一(依赖于autotest.fenzhi121902_1),则日志的打印结果如下:
-
您可以在运行日志中查看满足分支条件、被选中运行的分支下游节点的运行情况。
-
您可以在运行日志中查看到不满足分支条件、未被选中运行的分支下游节点,被置为跳过。
支持的Python比较运算符
以下假设变量a为10,变量b为20。
运算符 |
描述 |
示例 |
== |
等于:比较对象是否相等。 |
(a==b)返回false。 |
!= |
不等于:比较两个对象是否不相等。 |
(a!=b)返回true。 |
不等于:比较两个对象是否不相等。 |
(ab)返回true。这个运算符类似!=。 |
|
> |
大于:返回x是否大于y。 |
(a>b)返回false。 |
< |
小于:返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。 |
(a<b)返回true。 |
>= |
大于等于:返回x是否大于等于y。 |
(a>=b)返回false。 |
<= |
小于等于:返回x是否小于等于y。 |
(a<=b)返回true。 |
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/167324.html