更新时间:2022-02-24 GMT+08:00

表达式概述

数据开发模块作业中的节点参数可以使用表达式语言(Expression Language,简称EL),根据运行环境动态生成参数值。数据开发模块 EL表达式使用简单的算术和逻辑计算,引用内嵌对象,包括作业对象和一些工具类对象。

作业对象:提供了获取作业中上一个节点的输出消息、作业调度计划时间、作业执行时间等属性和方法。

工具类对象:提供了一系列字符串、时间、JSON操作方法,例如从一个字符串中截取一个子字符串、时间格式化等。

语法

表达式的语法:

#{expr}

其中,“expr”指的是表达式。“#”“{}”数据开发模块 EL中通用的操作符,这两个操作符允许您通过数据开发模块内嵌对象访问作业属性。

举例

Rest Client节点的参数“URL参数”中使用EL表达式“tableName=#{JSONUtil.path(Job.getNodeOutput("get_cluster"),"tables[0].table_name")}”,如图1所示。

表达式说明如下:

  1. 获取作业中“get_cluster”节点的执行结果(“Job.getNodeOutput("get_cluster")”),执行结果是一个JSON字符串。
  2. 通过JSON路径(“tables[0].table_name”),获取JSON字符串中字段的值。
图1 表达式示例