You need to enable JavaScript to run this app.
导航
输入输出参数设置
最近更新时间:2025.11.17 10:48:59首次发布时间:2024.04.24 16:20:48
复制全文
我的收藏
有用
有用
无用
无用

DataLeap 支持您通过设置任务的输入输出参数,可实现参数在上游和下游任务之间进行传递,该参数的内容值,可来源于上游任务的输出结果、项目参数或是自定义参数值。本文将为您介绍如何配置上游任务输出参数和下游任务输入参数。

1 使用限制

仅支持 Shell、Python 任务,将最后一行 stdout/err 的实例运行结果,作为输出变量参数,并通过“outputs”参数传递给下游任务作为输入参数变量。

2 使用前提

  • 当使用上游任务的运行结果作为下游任务的输入参数时,需先为任务设置上下游调度依赖关系。调度依赖配置操作详见任务调度依赖
  • 当使用项目参数作为下游任务的输入参数时,需先在项目控制台中设置项目参数。项目参数配置操作详见参数信息设置

3 输入输出参数配置入口

  1. 登录 DataLeap租户控制台
  2. 任务开发界面,进入某个离线任务的调度设置按钮,找到输入输出参数部分进行配置。

Image

4 参数使用方式

任务设置输入参数后,可在任务内部进行使用,其使用方式与时间参数使用方式不同:

5 输入参数配置

输入参数配置具体分为以下三类:

5.1 将上游任务的执行结果,当做输出参数

支持将 Shell、Python 任务,最后一行 stdout/err 的实例运行结果,作为输出变量参数,通过“outputs”进行传递。

  1. 上游任务 A 在调度设置 > 任务输出参数中,勾选“将运行结果当做输出”,通过使用“outputs”,将执行结果当作输出。

    说明

    1. 会将最后一行 stdout/err 的内容存入输出参数中。
    2. remote shell 仅将 stdout 的内容存入输出参数中。
    Image
  2. 下游任务 B,在调度设置 > 依赖关系中,手动添加上游任务 A 为父节点依赖:
    Image
  3. 下游任务 B 在调度设置 > 任务输入参数中,单击手动添加按钮,进入输入参数添加窗口。
  4. 在窗口中设置以下信息:
    • 参数名称:输入 B 任务中使用的参数名称;
    • 参数类型:下拉选择任务类型;
    • 来源任务:下拉选择已添加依赖的上游任务 A;
    • 具体参数:下拉选择或模糊输入上游输出名称:outputs;
    • 解析替换值:调试解析时,系统不会从上游获取 outputs 的真实内容,用“解析替换值”进行替换。默认值为1,用户可按需进行替换。
      Image
  5. 参数添加完成后,您便可在代码编辑界面以 {{参数名}} 的形式进行使用;时间参数通过 ${} 方式使用。

5.2 将在项目中设置的参数当作输入

在输入参数中手动添加参数类型为项目,项目参数可供项目全局使用。

  1. 项目控制台 > 参数信息中,新建项目参数,操作详见参数信息设置
  2. 任务编辑界面(如 SQL 任务代码编辑器)中,以 {{项目参数名}} 的形式进行使用。

项目参数使用案例详见参数信息-使用案例

5.3 自定义的参数当作输入

输入参数也支持以自定义参数内容的方式,进行上下游传参。
任务输入参数界面中,单击手动添加按钮,进入输入参数添加窗口:

  • 参数名称:输入任务中使用的参数名称;
  • 参数类型:下拉选择自定义类型;
  • 取值:输入自定义的参数取值。

自定义参数使用案例详见3.4.4 任务输入参数

6 输出参数

设置任务的输出参数,输出参数定义完成且任务上线后,即可在下游节点中使用,作为下游节点的输入参数的取值。输出参数的取值分为常量和变量两种类型。

  • 常量取值:常量为固定字符串,需要在任务的输出参数中进行定义。

  • 变量取值:包含上游任务输出结果参数和系统支持的全局变量。
    其中系统支持的全局变量参数不需要在输出参数中定义,由系统提供,具体包含以下几种:

    参数变量

    说明

    枚举值

    {{taskId}}

    任务 ID

    {{instanceStatus}}

    实例状态

    • force_succeed:强制置成功
    • succeeded_downstream:正常执行成功之后触发下游

    {{taskType}}

    任务类型

    EMR、EMR Doris、EMR StarRocks、EMR Serverless Spark 类型:

    • emr_hsql
    • emr_spark
    • emr_doris
    • emr_starrocks
    • emr_olap_starrocks
    • emr_map_reduce
    • stream_emr_sql
    • stream_managed_emr_java_flink
    • emr_serverless_spark_sql
    • emr_serverless_spark_jar
    • emr_serverless_spark_hive-sensor
    • emr_serverless_spark_tos-sensor

    ByteHouse 任务类型:

    • bhce_sql
    • bhcdw_sql

    流式 Flink 任务类型:

    • sf_fsql(Serverless Flink Batch Sql任务)
    • sf_flink_batch_java(Serverless Flink Batch Java任务)
    • stream_sf_sql(Serverless Flink SQL任务)
    • stream_managed_sf_java_flink(Serverless Flink Jar 任务)

    通用类型:

    • shell
    • python

    交互式分析任务类型:notebook

    离线通道任务:common-dts-batch

    LAS 类型:

    • las_hsql
    • las_spark
    • stream_las_sql
    • stream_managed_las_java_flink

    {{taskId}}

    任务 ID

    {{taskName}}

    任务名称

    {{taskOwner}}

    任务责任人

    {{instanceId}}

    实例 ID

    {{taskTime}}

    实例对应的业务时间

    {{scheduleRunTime}}

    实例设定的运行时间

    {{startTime}}

    实例实际开始运行时间

    {{endTime}}

    实例实际结束运行时间

    {{triggerType}}

    触发类型

    包括系统调度、重跑类型

    {{trackingUrl}}

    实例执行 Tracking URL 信息

7 后续操作

输入输出参数配置完成后,您便可开始任务的调试或提交发布操作。详见5 提交上线