功能简介
用于支持参数在上下游之间传递。例如:将当前任务的计算结果作为参数传递给子任务使用。多个结果可通过列号指定传递对象。
支持范围:Hive SQL、JDBC SQL、Python、Shell、Spark SQL、DLC SQL、Impala、TCHouse-P。
参数配置说明
1. 输出当前任务参数
若需要将参数从当前任务传递到下游,则在参数传递中勾选输出当前任务参数并配置参数信息。
填写该任务产出的输出参数和对应的取值(支持变量和常量),例如:父任务 A,在代码中计算结果有3列,分别为123,234, 1234, 在此配置中定义一个输出参数名 mark_id, 填写 mark_id = $[0],表示取计算结果首行第一列的值。
示例:如图定义参数名 a,取代码中的第一个变量;定义参数名 b,取代码中的第二个变量。
2. 引用父任务参数
若当前任务需要引用父任务中定义的参数,则在参数传递中勾选引用父任务参数。
填入定义的引入参数,选择该参数取值的父任务的输出参数(没有父节点则无选项),例如:子任务 B,任意定义参数名 mark_id,取值选择节点 A.mark_id,在代码中使用 ${mark_id},便会将 ${mark_id} 替换成字符串123 。
示例:如图定义参数名 a,取上游父任务 hivesql_1 中定义的参数 a;定义参数名 b,取上游父任务 hivesql_1 中定义的参数 b。
使用示例
分为三类:SQL 类、Shell 类、Python 类,以下为三种类型的使用示例(下文以传递常量为例,也支持传递变量)。
|
|
| 参数配置 | 代码 | 参数配置 | 代码 |
SQL 类 | Hive SQL
JDBC SQL
Spark SQL
DLC SQL
Impala
TCHouse-P | | SELECT "这是一个参数" | | SELECT '${test_canshu}' AS parameter_value; |
Shell 类 | Shell | | echo "这是一个参数" | | expr ${test_canshu} |
Python 类 | Python | | print("这是一个参数") | | print("test_canshu") |
本页内容是否解决了您的问题?