Search code examples
ooziehueoozie-coordinator

Oozie workflow parameter not getting set from coordinator


I have the following workflow XML and Coordinator XML, both created through 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>

The Coordinator conf is below

<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>

I have executed the Coordinator. The value that is passed for DATE parameter is blank. Do you see any issue?

In short, Im trying to create a folder in HDFS based on the Time at which the workflow is triggered.

I also tried

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

When I do this, it gives an error.


Solution

  • In the workflow, replace ${wf:conf(DATE)} by ${DATE} that way it will be parameterized correctly.