在oozie工作流作业的情况下,直接在workflow.xml中访问日期

时间:2013-07-01 13:39:13

标签: hadoop oozie

输入数据路径包含当前日期(INPUT / YYYY / MM / DD / HH /),oozie作业只是工作流程作业。

我尝试了以下方法,但没有奏效。

<java>
    <job-tracker>${jobTracker}</job-tracker>
    <name-node>${nameNode}</name-node>
    <prepare>
        <delete path="${nameNode}/user/510600/output" />
    </prepare>
    <main-class>${parse_mainClass}</main-class>
    <arg>${inputDir}/${YEAR}/${MONTH}/${DAY}</arg>
    <arg>${parse_Output}</arg>
</java>

通过在coordinator.xml中包含以下内容。我可以在workflow.xml中使用变量“prevDaystart”。

<workflow>
    <app-path>${workflowAppUri}</app-path>
    <configuration>
    <property>
       <name>prevDaystart</name>
       <value>${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'),'yyyy-MM-dd')}</value>
    </property>
 </configuration>

我的问题是“在workflow.xml(工作流程工作)中访问当前日期(YYYY / MM / DD / HH /)有没有直接的方式?”

1 个答案:

答案 0 :(得分:0)

AFAIK,没有办法在工作流本身中访问这些变量。我总是通过添加一些额外的虚拟数据输出和属性来解决这个问题,这些输出和属性反映了年/月/日的协调变量,然后您可以在工作流中引用它们。