我正在尝试使用oozie中的fork join并行运行两个动作。这是我的工作流程:
<workflow-app xmlns="uri:oozie:workflow:0.1" name="hive-wf">
<start to="forking"/>
<fork name="forking">
<path start="hive-node"/>
<path start="hive-node2"/>
</fork>
<action name="hive-node">
<hive xmlns="uri:oozie:hive-action:0.2">
<job-tracker>Jobtracker</job-tracker>
<name-node>namenode</name-node>
<job-xml>hive-site.xml</job-xml>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>default</value>
</property>
</configuration>
<script>HiveForOozie.hql</script>
</hive>
<ok to="joining"/>
<error to="fail"/>
</action>
<action name="hive-node2">
<hive xmlns="uri:oozie:hive-action:0.2">
<job-tracker>Jobtracker</job-tracker>
<name-node>namenode</name-node>
<job-xml>hive-site.xml</job-xml>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>default</value>
</property>
</configuration>
<script>Hive2.hql</script>
</hive>
<ok to="joining"/>
<error to="fail"/>
</action>
<join name="joining" to="end"/>
<kill name="fail">
<message>Hive failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="end"/>
</workflow-app>
第二个蜂巢行动因以下原因而被杀死: - JA018 组织/阿帕奇/动物园管理员/ KeeperException $ NoNodeException
但是,当我将此行动作为个人工作时,它能够通过。
任何帮助都将不胜感激。
答案 0 :(得分:0)
您可以尝试在两个查询中设置此set hive.support.concurrency = false并尝试。当您尝试从oozie获取基于Zookeeper的表时,会发生此错误。 即使在设置此属性后,Hive作业也将并行运行,但不会使用表锁定功能。
请参阅此link了解详情。