0

我有以下工作流 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>

Coordinator 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")}'/> 

当我这样做时,它给出了一个错误。

4

1 回答 1

2

在工作流程中,${wf:conf(DATE)}通过${DATE}这种方式替换它将被正确参数化。

于 2015-01-18T22:26:20.103 回答