Oozie工作流参数未从协调器设置

时间:2015-01-18 19:38:00

标签: oozie hue oozie-coordinator

我有以下工作流XML和Coordinator XML,都是通过Hue Oozie Editor创建的。

<workflow-app name="demo8" xmlns="uri:oozie:workflow:0.4">
    <start to="cds4"/>
    <action name="cds4">
        <fs>
              <mkdir path='${nameNode}/my/path/towritefile/${wf:conf(DATE)}'/>
        </fs>
        <ok to="end"/>
        <error to="kill"/>
    </action>
    <kill name="kill">
        <message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <end name="end"/>
</workflow-app>

协调员conf低于

<coordinator-app name="Demo4CoordinatorNew"
  frequency="${coord:minutes(5)}"
  start="2015-01-18T18:15Z" end="2015-01-19T10:46Z" timezone="US/Pacific"
  xmlns="uri:oozie:coordinator:0.2">
  <controls>
    <concurrency>1</concurrency>
    <execution>FIFO</execution>
  </controls>
  <action>
    <workflow>
      <app-path>${wf_application_path}</app-path>
      <configuration>
        <property>
          <name>DATE</name>
          <value>${coord:formatTime(coord:nominalTime(), &#39;yyyy-MM-dd&#39;)}</value>
        </property>
      </configuration>
   </workflow>
  </action>
</coordinator-app>

我已经执行了协调员。为DATE参数传递的值为空。你看到任何问题吗?

简而言之,我试图根据触发工作流的时间在HDFS中创建一个文件夹。

我也试过

 <mkdir path='${nameNode}/my/path/towritefile/${wf:conf("DATE")}'/> 

当我这样做时,它会出错。

1 个答案:

答案 0 :(得分:1)

在工作流程中,将${wf:conf(DATE)}替换为${DATE},以便正确参数化。