虚拟节点属于控制类节点,它是不产生任何数据的空跑节点(即调度到该节点时,系统直接返回成功,不会真正执行、不会占用资源或阻塞下游节点运行),通常作为业务流程的统筹起始节点,或业务流程中多个分支节点的汇总输出节点使用。本文为您介绍虚拟节点的应用场景及创建使用。

应用场景

虚拟节点通常用于如下场景:
  • 复杂依赖场景下的业务管理
    当您的实际业务包含多个业务流程时,为了业务流程与业务流程之间便于管理,建议每个业务流程都使用虚拟节点设置一个空跑的统筹起始节点,使数据流转路径更加清晰。业务管理
  • 调度无血缘关系的节点
    当业务流程中的最终输出节点有多个分支输入节点,且输入节点没有依赖关系时,您需要将虚拟节点作为多个输入节点的上游,将工作空间根节点作为虚拟节点的上游,实现工作空间根节点调度该虚拟节点,虚拟节点调度下游业务节点。当整个业务流程需要统一调度时间时,您也可以使用该方式指定虚拟节点的定时时间,来控制各分支节点的最早调度运行时间。
    说明 工作空间根节点作为上游依赖时,不会呈现在业务流程面板中。您可以在任务提交发布后,进入运维中心查看。运维中心详情请参见周期任务运维概述
    示例如下。调度无血缘依赖节点oss_数据同步_dqcrds_数据同步_dqc节点不存在血缘关系,不能根据血缘关系来设置节点的调度依赖。此时,您可使用虚拟节点(workshop_start_dqc)作为统筹起始节点,统一调度下游无血缘关系的分支节点,当下游分支节点满足运行条件时便会启动运行。
    说明 通过离线同步将其他数据源中的数据同步至DataWorks,对于DataWorks上接收同步数据的表来说,在DataWorks侧不存在上游血缘关系。
  • 管理多分支结果的业务流程,实现跨业务流程的调度依赖
    包含多个分支结果的业务流程如果要实现跨业务流程依赖,您需要使用虚拟节点对多个分支节点进行汇总,再手动将该汇总节点的输出作为下游业务流程统筹起始节点的输入,以此方式实现跨业务流程依赖。详情请参见跨业务流程配置调度依赖
    说明 一个业务流程存在多个分支结果时,您需要新建一个虚拟节点(例如,业务流程_end_虚拟节点),业务流程_end_虚拟节点依赖上游多个分支结果,当业务流程_end_虚拟节点执行成功,则表示该业务流程执行完成。

创建并使用虚拟节点

  1. 进入数据开发页面。
    1. 登录DataWorks控制台
    2. 在左侧导航栏,单击工作空间列表
    3. 选择工作空间所在地域后,单击相应工作空间后的数据开发
  2. 创建业务流程
    如果您已有业务流程,则可以忽略该步骤。
    1. 鼠标悬停至新建图标,选择新建业务流程
    2. 新建业务流程对话框,输入业务名称
    3. 单击新建
  3. 创建虚拟节点。
    1. 鼠标悬停至新建图标,选择新建节点 > 通用 > 虚拟节点
      您也可以找到相应的业务流程,右键单击业务流程,选择新建节点 > 通用 > 虚拟节点
    2. 新建节点对话框中,输入名称,并选择节点类型路径
      说明 节点名称必须是大小写字母、中文、数字、下划线(_)和小数点(.),且不能超过128个字符。
    3. 单击提交,进入虚拟节点编辑页面。
  4. 任务调度配置。
    如果您需要周期性执行创建的节点任务,可以单击节点编辑页面右侧的调度配置,根据业务需求配置该节点任务的调度信息:
  5. 提交并发布节点任务。
    1. 单击工具栏中的保存图标,保存节点。
    2. 单击工具栏中的提交图标,提交节点任务。
    3. 提交新版本对话框中,输入变更描述
    4. 单击确定
    如果您使用的是标准模式的工作空间,任务提交成功后,需要将任务发布至生产环境进行发布。请单击顶部菜单栏左侧的任务发布。具体操作请参见发布任务
  6. 查看周期调度任务。
    1. 单击编辑界面右上角的运维,进入运维中心。
    2. 查看运行的周期调度任务,详情请参见查看并管理周期任务