我正在尝试通过oozie over hive来实现自动化。我编写了简单的hive查询来创建表,并在该表上选择查询。当我提交相同的脚本时,脚本进入运行模式而不执行。我检查了应用程序列表,作业在95%上挂起。已成功创建配置单元表,但无法从表中获取数据。请告诉我如何解决此问题。提前谢谢。
工作流.xml
<action name="hive2-node">
<hive2 xmlns="uri:oozie:hive2-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<prepare>
<delete path="${nameNode}/user/${wf:user()}/${examplesRoot}/output-data/hive2"/>
<mkdir path="${nameNode}/user/${wf:user()}/${examplesRoot}/output-data"/>
</prepare>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
</configuration>
<jdbc-url>${jdbcURL}</jdbc-url>
<script>script.q</script>
<param>INPUT=/user/${wf:user()}/${examplesRoot}/input-data/table</param>
<param>OUTPUT=/user/${wf:user()}/${examplesRoot}/output-data/hive2</param>
</hive2>
<ok to="end"/>
<error to="fail"/>
</action>
<kill name="fail">
<message>Hive2 (Beeline) action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="end"/>
脚本.q
作业属性
名称节点=hdfs://...:8020 jobtracker=…:8050 queuename=默认jdbcurl=jdbc:hive2://….:10000/默认示例root=examples
oozie.use.system.libpath=true
oozie.wf.application.path=${namenode}/user/${user.name}/${examplesroot}/apps/hive2
暂无答案!
目前还没有任何答案,快来回答吧!