首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将参数从coordinator.xml传递给workflow.xml oozie

将参数从coordinator.xml传递给workflow.xml oozie
EN

Stack Overflow用户
提问于 2014-07-15 19:29:25
回答 3查看 5.5K关注 0票数 1

我有一个要求,在oozie中,我需要从协调器获取数据到工作流。

为此,我开发了样本协调员和工作小组如下。但是,启动协调程序作业后,所有工作流作业都会出现错误代码E0701失败。表示xml解析错误。我几乎没试过,哪里做错了?我找不到问题了?请帮帮忙。

workflow.xml

代码语言:javascript
复制
<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>

coordinator.xml

代码语言:javascript
复制
<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

代码语言:javascript
复制
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/

使用命令

代码语言:javascript
复制
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
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-27 18:28:58

我发现了我的错误。我们不应该用

代码语言:javascript
复制
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>

在"fs“行动中。保持原样。连协调员都工作得很好。

票数 0
EN

Stack Overflow用户

发布于 2014-07-16 09:35:12

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

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

票数 1
EN

Stack Overflow用户

发布于 2014-07-17 19:22:59

更多的观察--即使您尝试使用When函数--正确的方法是 WF :而不是wf.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24766592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档