我正在尝试使用 Oozie Java操作读取Hive表,但作业失败并显示错误: “java.io.IOException:NoSuchObjectException(message:sampleDB.test table not found)”
该表确实存在,如果我自己执行Jar,它就可以正常完成,并且可以毫无问题地连接到Hive。
Oozie步骤:
<action name="sample-step">
<java>
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
</configuration>
<main-class>com.test.mr.SampleDriver</main-class>
<java-opts></java-opts>
<arg>${DBName}</arg>
<arg>${InputTable}</arg>
<arg>${OutputTable}</arg>
</java>
<ok to="next-step" />
<error to="failure-step" />
</action>
我还尝试设置hive / conf / hive-site.xml,但它不起作用
我该怎么做才能解决这个问题?感谢
答案 0 :(得分:0)
你好@Samson Scharfrichter。感谢您的答复。我添加了hive-site.xml,如下所示,但它不起作用。我是否需要在Map Reduce作业中添加任何其他配置。感谢
<action name="sample-step">
<java>
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<job-xml>${hiveSite}</job-xml>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
</configuration>
<main-class>com.test.mr.SampleDriver</main-class>
<java-opts></java-opts>
<arg>${DBName}</arg>
<arg>${InputTable}</arg>
<arg>${OutputTable}</arg>
<file>${hiveSite}#${hiveSite}</file>
</java>
<ok to="next-step" />
<error to="failure-step" />
</action>