3

我正在使用 JDBC 驱动程序在 hive 上运行“describe TABLE_NAME”。它给了我以下错误:

NativeException: java.sql.SQLException: Query returned non-zero code: 9, cause: FAILED:
Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

return code 1没有告诉我太多。我如何弄清楚根本原因是什么?

4

3 回答 3

1

这很可能是因为您的 Hive 元存储设置不正确。Hive 使用 RDBMS 元存储来存储有关其表的元数据。这包括表名、模式、分区/桶/排序列、表级统计信息等。

默认情况下,Hive 使用嵌入式 derby 元存储,一次只能由一个进程访问。如果您正在使用它,则可能有多个会话打开 Hive 导致此问题。

无论如何,我建议您为 Hive 设置一个独立的元存储。选择嵌入式 derby 是因为它在运行测试中的可用性和开箱即用的元存储。但是,在我看来,它不适合生产工作流程。您可以在此处找到有关如何将 MySQL 配置为 Hive 元存储的说明。

于 2012-11-14T08:04:37.053 回答
0

可能你有另一个会话打开。由于德比比赛每人只允许一场比赛。你可以检查 -

ps -wwwfu <your id>

杀死正在运行 hive 连接的 id。

于 2013-03-13T22:53:43.370 回答
0

这是因为您指定的名称的表在数据库中不存在。尝试创建表并再次运行该命令。它会起作用的。:)

于 2013-04-18T12:05:25.003 回答