gpt4 book ai didi

hive - Oozie工作流程: Hive table not found but it does exist

转载 作者:行者123 更新时间:2023-12-04 13:40:50 28 4
gpt4 key购买 nike

我有一个oozie工作流程,它在4台机器的CDH4集群上运行(一个万事俱备,三个“笨拙” worker )。配置单元metastore在使用mysql的主服务器上运行(存在驱动程序),oozie服务器也在使用mysql的主服务器上运行。使用Web界面,我可以按预期的方式导入和查询配置单元,但是当我在oozie工作流程中执行相同的查询时,它将失败。即使添加了“IF EXISTS”,也会导致以下错误。我试图将连接信息作为属性添加到配置单元作业中,但没有成功。

有人可以给我提示吗?我有什么想念的吗?需要任何进一步的信息吗?

这是作业日志的输出:

  Script [drop.sql] content:
------------------------
DROP TABLE IF EXISTS performance_log;

------------------------

Hive command arguments :
-f
drop.sql

=================================================================

>>> Invoking Hive command line now >>>

Intercepting System.exit(10001)

<<< Invocation of Main class completed <<<

Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.HiveMain], exit code [10001]

Oozie Launcher failed, finishing Hadoop job gracefully

这是错误消息:
  FAILED: SemanticException [Error 10001]: Table not found performance_log
Intercepting System.exit(10001)
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.HiveMain], exit code [10001]

最佳答案

问题是其他节点不知道您的MYSQL在哪里,因此您将获得未找到的错误表。

你需要做两件事

  • 在oozie工作流目录
  • 中复制hive-site.xml
  • 在您的Hive Action 中,告诉oozie使用我的hive-site.xml

  • 像下面这样
    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>

    这应该工作。

    谢谢

    关于hive - Oozie工作流程: Hive table not found but it does exist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15749999/

    28 4 0