我对 Hive 和 HDFS 还很陌生,但是我设法在 java 中创建了一个功能正常的 HiveClient,它成功地连接并在我的 HDFS 服务器上执行查询。也就是说,除了select语句之外的所有查询。
我的代码如下所示:
Statement stmt; ResultSet res; try { stmt = con.createStatement(); res = stmt.executeQuery("select * from my_table"); while (res.next()) { System.out.println(res.getString(1)); } res.close(); stmt.close(); con.close(); } catch (SQLExceptionex) { ex.printStackTrace(); }
当我运行它时,错误是这样的:
java.sql.SQLException:查询返回非零代码:9,原因:FAILED:执行错误,从org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java)的shark.execution.SparkTask返回代码-101 :194) 在 se.HiveClient.doQuery(HiveClient.java:56) 在 se.HiveClient.main(HiveClient.java:82)
但如果我改为创建表或显示表,它运行完美。是否存在缺少配置或权限的情况?还是完全不同的东西?
任何关于我可能在哪里做错或错过了什么的想法都非常感谢。