全部产品
Search
文档中心

大数据开发治理平台 DataWorks:分支节点

更新时间:Jan 29, 2024

分支节点是DataStudio中提供的逻辑控制系列节点中的一类。分支节点可以定义分支逻辑和不同逻辑条件时下游分支走向。

注意事项

  • 您需购买DataWorks标准版及以上版本,才可以使用分支节点。DataWorks版本介绍及购买,详情请参见DataWorks各版本详解

  • 分支节点最多可挂载50个分支。

  • 通常分支节点需要配合赋值节点使用,详情请参见赋值节点

创建分支节点

  1. 进入数据开发页面。

    登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据建模与开发 > 数据开发,在下拉框中选择对应工作空间后单击进入数据开发

  2. 鼠标悬停至新建图标,单击新建节点 > 通用 > 分支节点

    您也可以打开相应的业务流程,右键单击通用,选择新建节点 > 分支节点

  3. 新建节点对话框,输入节点名称,并选择路径。

  4. 单击确认

  5. 定义分支逻辑。

    1. 分支逻辑定义页面,单击添加分支

    2. 配置分支定义对话框中,配置各项参数。

      配置分支定义

      参数

      描述

      分支条件

      分支条件的说明如下:

      • 分支条件仅支持按照Python比较运算符定义逻辑判断条件。

      • 如果运行态表达式取值为true,表示满足对应的分支条件。

      • 如果运行态表达式解析报错,会将整个分支节点运行状态置为失败。

      • 分支条件中支持使用全局变量和节点上下文定义的参数。例如,${input}可以是定义在分支节点的节点输入参数。

      关联到节点输出

      关联到节点输出的说明如下:

      • 节点输出供分支节点下游节点挂载依赖关系使用。

      • 满足分支条件时,对应的关联的节点输出上挂载的下游节点被选中运行(同时需要参考该节点依赖的其它上游节点的状态)。

      • 不满足分支条件时,对应的关联的节点输出上挂载的下游节点不会被选中执行,该下游节点会被置成因为分支条件不满足而未运行的状态。

      分支描述

      对分支的定义进行简要说明。例如,定义${input}==1${input}>2两个分支。

      关联到节点输出的示例如下。

      例如,分支节点下游关联两个节点,节点名称分别为qqqqwwww。当分支条件为1时,以qqqq节点逻辑运行。当分支条件为2时,以wwww节点逻辑运行。则配置分支节点时,关联到节点输出可以随便配置。例如,分支1关联节点输出为1234,分支2关联节点输出为2324,则均会作为本分支节点的输出名称。下游qqqq节点需要挂载分支节点的输出名称1234,wwww节点需要挂载分支节点的输出名称2324。

    3. 单击确定

      添加分支后,您可以进行编辑删除操作:

      • 单击编辑,可以修改设置的分支,并且相关的依赖关系也会改动。

      • 单击删除,可以删除设置的分支,并且相关的依赖关系也会改动。

  6. 单击节点编辑区域右侧的调度配置,配置节点的调度属性。

    定义好分支条件后,会在调度配置 > 调度依赖区域的本节点输出名称中,自动添加输出名称。下游节点可以通过输出名称进行依赖挂载。

    说明
    • 由于空跑属性会向下传递,不建议放置自依赖的任务在分支链路上。是否沿沿空跑属性,详情请参见是否沿用上游的空跑属性

    • 如果连线建立上下文的依赖,在调度配置中没有输出记录,请手动输入。

  7. 提交并发布节点任务。

    1. 单击工具栏中的保存图标,保存节点。

    2. 单击工具栏中的提交图标,提交节点任务。

    3. 提交对话框中,输入变更描述

    4. 单击确认

    如果您使用的是标准模式的工作空间,任务提交成功后,需要将任务发布至生产环境进行发布。请单击顶部菜单栏左侧的任务发布。具体操作请参见发布任务

  8. 查看周期调度任务。

    1. 单击编辑界面右上角的运维,进入生产环境运维中心。

    2. 查看运行的周期调度任务,详情请参见查看并管理周期任务

    如果您需要查看更多周期调度任务详情,可单击顶部菜单栏的运维中心,详情请参见运维中心概述

输出示例:下游节点挂载分支节点

在下游节点中,添加分支节点作为上游节点后,通过选择对应的分支节点输出来定义不同条件下的分支走向。例如在下图所示的业务流程中,分支1分支2均为分支节点的两个下游节点。下游挂载

分支1:依赖于autotest.fenzhi121902_1输出。分支1

分支2:依赖于autotest.fenzhi121902_2输出。分支2

提交调度至运维中心运行,分支节点满足条件一(依赖于autotest.fenzhi121902_1),则日志的打印结果如下:

  • 您可以在运行日志中查看满足分支条件、被选中运行的分支下游节点的运行情况。运行日志

  • 您可以在运行日志中查看到不满足分支条件、未被选中运行的分支下游节点,被置为跳过。运行日志

支持的Python比较运算符

以下假设变量a为10,变量b为20。

运算符

描述

示例

==

等于:比较对象是否相等。

(a==b)返回false。

!=

不等于:比较两个对象是否不相等。

(a!=b)返回true。

<>

不等于:比较两个对象是否不相等。

(a<>b)返回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。