通过任务的输入输出参数,可支持任务使用自定义参数,该参数可来源于上游任务,任务所在项目或是自定义内容值。
输入参数
任务设置输入参数后,可在任务内部使用,其使用方式与系统时间参数使用方式不同,系统时间参数通过${}方式使用,自定义输入参数通过{{参数名}}的方式使用,输入参数具体分为两类:
- 将上游任务的输出参数当作输入。
- 将项目中设置的或自定义的参数当作输入。
输出参数
设置任务的输出参数,输出参数定义完成且任务上线后,即可在下游节点中使用,作为下游节点的输入参数的取值,输出参数的取值分为常量和变量两种类型:
- 常量取值:常量为固定字符串,需要在任务的输出参数中进行定义;
- 变量取值:系统支持的全局变量,不需要在输出参数中定义,由系统提供,具体为:
- {{projectId}}:项目ID
- {{projectName}}:项目名
- {{taskId}}:任务ID
- {{flowTaskId}}:工作流任务ID
- {{taskType}}:任务类型
- {{taskName}}:任务名称
- {{taskOwner}}:任务负责人
- {{instanceId}}:实例ID
- {{taskTime}}:实例对应的业务时间
- {{scheduleRunTime}}:实例设定的运行时间
- {{startTime}}:实例实际开始运行时间
- {{endTime}}:实例实际结束运行时间
- {{instanceStatus}}:实例状态
- {{triggerType}}:触发类型:系统调度、重跑
- {{tranckingUrl}}:实例执行yarn上的trancking URL
其中,对于Shell/Python/LAS SQL/HSQL(包含 Hadoop HSQL、CDH-TBDS HSQL、CDH-MRS HSQL、CDH-EMR HSQL、CDH HSQL)/StarRocks任务,允许将实例运行结果作为结果变量,通过“outputs”进行传递。
- Shell/Python任务:收集最后一行stdout/err的结果作为输出参数。
- LAS SQL/HSQL(包含 Hadoop HSQL、CDH-TBDS HSQL、CDH-MRS HSQL、CDH-EMR HSQL、CDH HSQL)/StarRocks任务:收集最后一行select的输出。
输入输出参数的使用案例
任务的调度设置中,通过输入输出参数设置,既可以实现参数在上下游节点之间的传递,也可以实现项目参数在任务中的统一使用。
示例一:将项目参数当作输入
可按以下方式,进入参数管理页面。
- 单击添加输入参数窗口的新建项目参数按钮,跳转至对应项目的参数管理页面。

- 选择控制台 > 项目管理 > 参数管理,进行所选项目参数的配置。

- 在参数管理界面,单击新建参数按钮,在弹窗中完成项目参数新建。详见参数管理。

- 在调度设置中添加输入参数。

- 项目参数添加完成后,便可在 SQL 中,通过 {{输入参数名称}} 的方式进行引用;若没有第三步在调度设置中添加输入参数时,您也可直接在 SQL 中通过 {{项目参数名称}} 的方式进行引用。
- 项目参数配置完成后,便可在任务调试界面中,打开修改自定义参数开关,并提交调试,示例如下:

示例二:将上游任务输出参数当作输入
配置依赖任务,将上游任务的输出参数当作下游任务的输入参数。
- 设置任务的输出参数

对于shell/python/LAS SQL/HSQL(包含 Hadoop HSQL、CDH-TBDS HSQL、CDH-MRS HSQL、CDH-EMR HSQL、CDH HSQL)/StarRocks任务,通过使用“outputs”,将执行结果当作输出。

- Shell/Python任务:收集最后一行stdout/err的结果作为输出参数。
- LAS SQL/HSQL(包含 Hadoop HSQL、CDH-TBDS HSQL、CDH-MRS HSQL、CDH-EMR HSQL、CDH HSQL)/StarRocks任务:收集最后一行select的输出。
- 设置任务的依赖关系。

- 将依赖上游任务的输出当作当前任务的输入。

- 输入参数在任务中的使用方式
通过{{参数名}}在任务中引用输入参数,具体使用效果如下:
