文档首页 > > 用户指南> 参考> 表达式> Job内嵌对象

Job内嵌对象

分享
更新时间: 2020/05/27 GMT+08:00

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

属性和方法

表1 属性说明

属性

类型

描述

name

String

作业名称。

planTime

java.util.Date

作业调度计划时间,即周期调度配置的时间,例如每天凌晨1:01调度作业。

startTime

java.util.Date

作业执行时间,有可能与planTime同一个时间,也有可能晚于planTime(由于作业引擎繁忙等)。

eventData

String

当作业使用事件驱动调度时,从DIS通道获取的消息。

projectId

String

当前DLF所处项目ID。

表2 方法说明

方法

描述

String getNodeStatus(String nodeName)

获取指定节点运行状态,成功状态返回success,失败状态返回fail。

String getNodeOutput(String nodeName)

获取指定节点的输出。此方法只能获取前面依赖节点的输出。目前只支持获取Rest Client节点的输出,即REST请求的返回消息。

String getParam(String key)

获取作业参数。

String getPlanTime(String pattern)

获取指定pattern的计划时间字符串,pattern为日期、时间模式,请参考日期和时间模式

String getYesterday(String pattern)

获取执行pattern的计划时间前一天的时间字符串,pattern为日期、时间模式,请参考日期和时间模式

String getLastHour(String pattern)

获取执行pattern的计划时间前一小时的时间字符串,pattern为日期、时间模式,请参考日期和时间模式

String getRunningData(String nodeName)

获取指定节点运行中记录的数据。此方法只能获取前面依赖节点的输出。当前只支持获取DLI SQL节点运行中记录的DLI作业id,例如,想要获取DLI节点第3条语句的job ID(DLI节点名为DLI_INSERT_DATA),可以这样使用:#{JSONUtil.path(Job.getRunningData("DLI_INSERT_DATA"),"jobIds[2]")}。

String getInsertJobId(String nodeName)

返回指定DLI SQL或Transform Load节点第一个DLI Insert SQL语句的作业ID,不指定参数nodeName时,获取前面一个节点第一个DLI Insert SQL语句的作业ID,如果无法获取到作业ID,返回null值。

举例

获取作业中节点名称为test的输出,EL表达式如下:

#{Job.getNodeOutput("test")}
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问