无法使用Oozie Java操作连接到Hive

时间:2017-08-08 03:45:06

标签: java hive oozie oozie-workflow

我正在尝试使用 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,但它不起作用

我该怎么做才能解决这个问题?感谢

1 个答案:

答案 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>