[英]Hive Action in Oozie 3.1.3
我是Hive和Oozie的新手。 我正在尝试通过Oozie运行Hive脚本。 这是我得到的错误。
错误:E0701:E0701:XML模式错误,cvc-complex-type.2.4.c:匹配的通配符是严格的,但是找不到元素“ 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>
我该如何解决?
您应该检查oozie:workflow和hive-action版本。
就我而言,我使用CDH4.3发行版,并放置了以下版本:
oozie工作流程为0.4,蜂巢操作为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"/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.