我在对 impala 中的数据库执行查询时遇到以下错误。对于其他数据库,它工作正常。
错误轨迹如下
[Simba][ImpalaJDBCDriver](500051) ERROR processing query/statement. Error Code: select * from test_table limit 1, SQL state: {1}, Query: {2}.[]
java.sql.SQLException: [Simba][ImpalaJDBCDriver](500051) ERROR processing query/statement. Error Code: [Simba][JSQLEngine](12010) The table "test_table" could not be found., SQL state: HY000, Query: select count(*) from test_table.
at com.cloudera.impala.hivecommon.dataengine.HiveJDBCDataEngine.prepare(Unknown Source)
at com.cloudera.impala.jdbc.common.SStatement.executeNoParams(Unknown Source)
at com.cloudera.impala.jdbc.common.SStatement.executeQuery(Unknown Source)
Caused by: com.cloudera.impala.support.exceptions.GeneralException: [Simba][ImpalaJDBCDriver](500051) ERROR processing query/statement. Error Code: [Simba][JSQLEngine](12010) The table "test_table" could not be found., SQL state: HY000, Query: select count(*) from test_table.
... 3 more
如果我执行 show tables
,它会列出表名。
如果我从 hue 执行它,它不会在结果中显示任何内容。
我尝试使元数据无效。
我尝试换成最新的驱动jdbc41
同样的问题。
问题可能在哪里?
最佳答案
在我的例子中,这个错误是由于 hdfs 上没有对 Hiveserver 具有写权限的/user/scott 目录(作为 cloudera-scm 用户运行)(我的 jdbc 连接使用 scott 作为用户 ID)引起的。一旦我创建了目录并对其进行了 chmod,我就可以运行所有查询。之前只有 select * 有效,但 select count(*) 无效。
关于hadoop - [Simba][ImpalaJDBCDriver](500051) 处理查询/语句时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35554816/