我有以下工作流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(), 'yyyy-MM-dd')}</value>
</property>
</configuration>
</workflow>
</action>
</coordinator-app>
我已经执行了协调员。为DATE参数传递的值为空。你看到任何问题吗?
简而言之,我试图根据触发工作流的时间在HDFS中创建一个文件夹。
我也试过
<mkdir path='${nameNode}/my/path/towritefile/${wf:conf("DATE")}'/>
当我这样做时,它会出错。
答案 0 :(得分:1)
在工作流程中,将${wf:conf(DATE)}
替换为${DATE}
,以便正确参数化。