2013-07-04 51 views
2

我是Hive和Oozie的新手。我正在嘗試通過Oozie運行Hive腳本。 這是我得到的錯誤。Oozie中的Hive Action 3.1.3

Error: E0701 : E0701: XML schema error, cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'hive'.

這裏是我的workflow.xml:

<?xml version="1.0" encoding="UTF-8"?> 
    <workflow-app xmlns="uri:oozie:workflow:0.2" name="temp-hive"> 
    <start to="hive-ex"/> 
    <action name="hive-ex"> 
    <hive xmlns="uri:oozie:hive-action:0.2"> 
    <job-tracker>${jobTracker}</job-tracker> 
    <name-node>${nameNode}</name-node> 
    <configuration> 
    <property> 
    <name>mapred.job.queue.name</name> 
    <value>default</value> 
    </property> 
    <property> 
    <name>oozie.hive.defaults</name> 
    <value>/home/hduser/hive/conf/hive-site.xml</value> 
    </property> 
    </configuration> 
    <script>ooziequery.q</script> 
    </hive> 
    <ok to="end"/> 
    <error to="fail"/> 
    </action> 
    <kill name="fail"> 
    <message>Hive script failed!!</message> 
    </kill> 
    <end name="end"/> 
    </workflow-app> 

我怎樣才能解決這個問題?

回答

1

您應該檢查oozie:工作流和配置單元版本。

就我而言,我使用CDH4.3分佈,我把下面的版本:

0.4 Oozie的工作流程和0.2蜂巢行動

<workflow-app name="test-hive" xmlns="uri:oozie:workflow:0.4"> 
<start to="hive-request"/> 
<action name="hive-request"> 
    <hive xmlns="uri:oozie:hive-action:0.2"> 
     <job-tracker>${jobTracker}</job-tracker> 
     <name-node>${nameNode}</name-node> 
    <job-xml>conf/hive-site.xml</job-xml> 
     <script>lib/script.sql</script> 
    </hive> 
    <ok to="end"/> 
    <error to="fail"/> 
</action> 
<!-- Fail bloc, redirect every action here when an error occurs--> 
<kill name="fail"> 
    <message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message> 
</kill> 
<end name="end"/>