java hiveclient失败select:java.sql.sqlexception:查询返回非零代码:9

w6lpcovy  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(461)

我对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,原因:失败:执行错误,返回代码-101,来自org.apache.hadoop.hive.jdbc.hivestatement.executequery(hivestatement)的shark.execution.sparktask。java:194)在se.hiveclient.doquery(hiveclient。java:56)位于se.hiveclient.main(hiveclient.main)。java:82)
但是如果我改为创建表或显示表,它运行得非常好。是否存在缺少配置或权限的情况?或者完全是别的什么?
任何关于我哪里做错了或错过了什么的想法都是非常感激的。

6rqinv9w

6rqinv9w1#

这应该是权限问题。
创建表或显示表需要配置单元从其数据库中获取元数据。实际选择数据需要读取文件。检查文件的权限。
配置单元可能以配置单元用户的身份进行查询,因此应该是文件的所有者,或者应该在正确的组中。
这似乎是一个类似的问题:http://forums.pentaho.com/archive/index.php/t-89586.html

相关问题