Oozie,将协调员调度程序的时间传递给Java Action



我需要将调度程序的时间传递给Oozie Java操作。

例如,我设置了1个Mınute调度程序时间。当前时间是15:45,但发生任何延迟或错误,因此当前执行的Java操作时间为15:40(5分钟延迟),我需要在Java操作中记录执行时间,因此我需要将15.40值传递给我Java代码(JAR)作为参数。

我该如何实现?

谢谢

您可以使用内置的ozie内置的el function" string timestamp()"获取时间戳并将其传递给Java代码作为参数。例如

 <action name='actionJava'>
        <java>
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <name>JavaAction</name> 
            <main-class>com.oozie.JTestMain</main-class> 
            <arg>${timestamp()}</arg>
        </java>
       <ok to="end" />
       <error to="killJob" />
 </action>

最新更新