节点上下文用于支持参数在上游节点和下游节点之间传递,本文为您介绍如何定义、使用节点上下文中的输入参数和输出参数。

在上游节点定义输出参数及其取值后,在下游节点定义输入参数(取值引用上游节点的输出参数),即可在下游节点中使用此参数获取上游节点传递过来的取值。
注意 AnalyticDB for MySQL节点不支持节点上下文传递参数。
双击打开相应节点,单击右侧的 调度配置,在 节点上下文区域进行配置。 节点上下文

输入参数

节点的输入参数用于定义对其依赖的上游节点的输出的引用,并可以在节点内部使用,使用方式与其它参数一致。

输入参数的定义和使用如下:
  • 定义输入参数
    1. 调度依赖中添加依赖的上游节点。添加依赖
    2. 节点上下文中,添加输入参数定义,取值选择引用上游节点的输出参数。本节点输入
      字段 含义 说明
      编号 编号为系统控制,自动增加。
      参数名 定义的输入参数名称。
      取值来源 参数的取值来源,引用上游节点取值。 取值是上游节点输出参数的具体取值。
      描述 参数的简要描述。
      父节点ID 父节点ID。 自动从上游节点解析得到。
      来源 当前参数的来源。 包括系统默认添加自动解析手动添加
      操作 提供编辑删除两种操作。
  • 使用输入参数
    在节点中使用定义的输入参数的方法和其它系统变量一致,引用方式为 ${输入参数名}。下图为在Shell节点中进行引用。 引用

输出参数

您可以在节点上下文中定义本节点输出参数,输出参数的取值分为常量变量两种类型。

完成输出参数的定义并提交当前节点后,即可在下游节点中引用,作为下游节点的输入参数的取值。
说明 不支持在当前节点编写代码的方式,对定义的输出参数进行赋值。
输出参数
字段 含义 描述
编号 编号为系统控制,自动增加。
参数名 定义的输出参数名称。
类型 参数类型。 包括常量变量
取值 输出参数的取值。 取值类型包括常量和变量:
  • 常量为固定字符串。
  • 变量包括系统支持的全局变量、调度内置参数、自定义参数${…}和自定义参数$[…]
描述 参数的简要描述。
来源 当前参数的来源。 包括系统默认添加自动解析手动添加
操作 提供编辑删除两种操作。 当存在下游节点依赖时,不支持编辑和删除。在下游节点添加对上游节点引用之前,请谨慎检查,确保上游输出定义正确。

赋值参数

如果您需要将一个任务的查询结果作为参数传递给下游任务进行引用,请在上游节点(目前支持的节点类型)的编辑页面,单击右侧的 调度配置。在该节点的 节点上下文 > 本节点输出参数区域,单击 添加赋值参数,一键添加输出的赋值参数。目前支持的节点包括EMR Hive、EMR Spark SQL、ODPS Script、Hologres SQL和AnalyticDB for PostgreSQL节点。
说明 您需要购买DataWorks标准版及以上版本,才可以使用 添加赋值参数功能。
您单击 添加赋值参数后,赋值参数会传递上游节点生产的查询结果。如果产生结果为空,不会阻塞本节点运行,但下游引用的节点可能会失败。 添加赋值参数

下游节点需要在输入参数中添加上游节点的赋值参数,在代码中通过二维数组的方式引用。其使用方式和赋值语言为ODPS SQL的赋值节点一致,详情请参见配置赋值节点

系统支持的全局变量

  • 系统变量
    系统变量 说明
    ${projectId} 项目ID。
    ${projectName} MaxCompute项目名。
    ${nodeId} 节点ID。
    ${gmtdate} 实例定时时间所在天的00:00:00,格式为yyyy-MM-dd 00:00:00
    ${taskId} 任务实例ID。
    ${seq} 任务实例序号,代表该实例在当天同节点实例中的序号。
    ${cyctime} 实例定时时间。
    ${status} 实例的状态:成功(SUCCESS)、失败(FAILURE)。
    ${bizdate} 业务日期。
    ${finishTime} 实例结束时间。
    ${taskType} 实例运行类型:正常(NORMAL)、手动(MANUAL)、暂停(PAUSE)、空跑(SKIP)、未选择(UNCHOOSE)、周月空跑(SKIP_CYCLE)。
    ${nodeName} 节点名称。
  • 其它参数设置请参见调度参数