未从协调器设置 Oozie 工作流参数
Oozie workflow parameter not getting set from coordinator
我有以下工作流 XML 和协调器 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")}'/>
当我这样做时,出现错误。
在工作流程中,将 ${wf:conf(DATE)}
替换为 ${DATE}
,这样参数化就会正确。
我有以下工作流 XML 和协调器 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")}'/>
当我这样做时,出现错误。
在工作流程中,将 ${wf:conf(DATE)}
替换为 ${DATE}
,这样参数化就会正确。