gpt4 book ai didi

hadoop - 将参数从 coordinator.xml 传递到 workflow.xml oozie

转载 作者:可可西里 更新时间:2023-11-01 16:14:27 26 4
gpt4 key购买 nike

我有一个要求,我需要在 oozie 中获取从协调员到工作流的日期。

为此,我开发了示例协调器和工作流程,如下所示。但是,启动协调器作业后,所有工作流作业都失败,错误代码为 E0701。表示xml解析错误。我很努力地尝试了,我哪里做错了?我找不到问题?请帮忙。

workflow.xml

<workflow-app name="test_wf" xmlns="uri:oozie:workflow:0.4">
<start to="samp_pig"/>
<action name="samp_pig">
<fs>
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<delete path='${nameNode}/tmp/${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>

协调器.xml

<coordinator-app name="test"
frequency="5"
start="2014-07-15T11:35Z" end="2014-07-17T12:15Z" timezone="America/Los_Angeles"
xmlns="uri:oozie:coordinator:0.2">
<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>

job.properties

jobTracker=localhost.localdomain:8021
nameNode=hdfs://localhost.localdomain:8020
oozie.coord.application.path=/tmp/uc1/
oozie.use.system.libpath=true
wf_application_path=/tmp/uc1/wf1/

命令使用

hadoop fs -rmr /tmp/uc1/
hadoop fs -mkdir /tmp/uc1/wf1/
hadoop fs -put * /tmp/uc1/wf1/
hadoop fs -put * /tmp/uc1/
oozie job -oozie http://localhost.localdomain:11000/oozie -config job.properties -submit

最佳答案

要在 coordinator.xml 中获取 DATE 属性的值,只需使用 ${DATE}

    <fs>
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<delete path='${nameNode}/tmp/${DATE}'/>
</fs>

关于hadoop - 将参数从 coordinator.xml 传递到 workflow.xml oozie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24766592/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com