本文为您介绍归并节点的概念,以及如何新建归并节点、定义归并逻辑,并通过实践案例为您展示归并节点的调度配置和运行详情。
背景信息
归并节点是DataStudio中提供的逻辑控制系列节点中的一类,可以对上游节点的运行状态进行归并,用于解决分支节点下游节点的依赖挂载和运行触发问题。
目前归并节点的逻辑定义不支持选择节点运行状态,仅支持将分支节点的多个下游节点归并为运行成功的状态,以便下游节点能够直接挂载归并节点作为依赖。
例如,分支节点C定义了两个逻辑互斥的分支走向C1和C2,不同分支使用不同的逻辑写入同一张MaxCompute表,如果下游节点B依赖此MaxCompute表的产出,则必须使用归并节点J先将分支归并后,再把归并节点J作为B的上游依赖。如果直接把B挂载在C1、C2下,任何时刻,C1和C2总有一个会因分支条件不满足,而显示实例状态为分支未被选中,而B也会因为上游有未被选中跳过运行的节点,实际也会是分支未被选中,空跑跳过的状态,节点并没有实际运行,所有下游节点均会如此。
使用限制
仅DataWorks标准版及以上版本,才可使用归并节点功能。购买或升级DataWorks相应版本,详情请参见DataWorks各版本详解。
创建归并节点
进入数据开发页面。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,在下拉框中选择对应工作空间后单击进入数据开发。
鼠标悬停至图标,单击 。
在新建节点对话框中,输入节点名称,并选择路径。
单击确认。
定义归并逻辑
新建归并节点后 ,进入节点编辑页面定义归并逻辑。
添加需要归并的分支节点,该节点作为归并节点的父节点。
在添加归并分支区域,通过节点名称、节点ID或节点输出查找相应父节点,并单击图标添加为分支节点。
说明当需要归并多个分支节点时,您需多次重复执行添加操作。
在归并条件设置区域,配置分支节点的归并条件。
您需要配置归并逻辑及分支节点的运行状态。
归并逻辑条件包括:
且:上游所有分支节点均需处于终态(即运行完成),并且均满足其设置的运行状态时,执行结果设置区域设置的本节点运行状态才会生效。
或:上游所有节点均需处于终态(即运行完成),并且任意分支节点满足其设置的运行状态时,执行结果设置区域设置的本节点运行状态才会生效。
节点运行完成后的状态包括:
成功:节点运行成功。
失败:节点运行失败。
分支未运行:节点未运行。
在执行结果设置区域,设置本节点的运行状态。
说明当前仅支持设置本节点的运行状态为成功。
如上图示例:
添加分支节点A、B为当前归并节点的上游节点。
节点A的运行状态设置为成功、分支未运行、失败,即节点A运行完成即可。
节点B的运行状态设置为成功、分支未运行,即节点B运行完成且节点B运行未失败。
归并逻辑条件设置为且。
因此,当节点A运行完成,并且节点B运行完成且不失败,当前归并节点的成功运行状态才会生效。
单击节点编辑页面右侧的调度配置,即可设置归并节点的调度属性。详情请参见配置基础属性。
归并节点示例
在下游节点中,添加分支节点作为上游节点后,通过选择对应的分支节点输出来定义不同条件下的分支走向。例如在下图所示的业务流程中,分支1和分支2均为分支节点的两个下游节点。
分支1依赖于autotest.fenzhi121902_1输出。
分支2依赖于autotest.fenzhi121902_2输出。
运行任务
您可以在运行日志中查看满足分支条件、被选中运行的分支下游节点的运行情况。
您可以在运行日志中查看到不满足分支条件、未被选中运行的分支下游节点,被置为跳过。
归并节点的下游节点正常运行。