java - Java HiveClient失败选择:java.sql.SQLException:查询返回的非零代码:9

标签 java hadoop jdbc hive shark-sql

我对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: Query returned non-zero code: 9, cause: FAILED: Execution Error, return code -101 from shark.execution.SparkTask at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:194) at se.HiveClient.doQuery(HiveClient.java:56) at se.HiveClient.main(HiveClient.java:82)



但是,如果我改为创建表或显示表,则可以完美运行。可能会缺少配置或特权吗?还是完全其他?

关于我可能在哪里做错了什么或错过了什么的任何想法是最受赞赏的。

最佳答案

这应该是一个权限问题。

创建表或显示表需要 hive 从数据库中获取元数据。
实际选择数据需要读取文件。检查赋予文件的权限是什么。

Hive可能以Hive用户身份进行查询,因此应该是该文件的所有者,或者应该在正确的组中。

这似乎是一个类似的问题:http://forums.pentaho.com/archive/index.php/t-89586.html

关于java - Java HiveClient失败选择:java.sql.SQLException:查询返回的非零代码:9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27384233/

相关文章:

java - 设置 JSlider 缩略图的大小

apache-spark - 错误 : path does not exist in spark submit with hadoop

java - 很少有 JDBC 连接

Java InputStreamReader,mac 和 linux 上的输出不同

java - SLF4J : Class path contains multiple SLF4J bindings. 无法摆脱绑定(bind)

java - 适配器和装饰器的区别

hadoop - Apache Oozie 3.3.2 构建错误 |插件解析异常

hadoop - 使用命令行设置 Reduce 任务数

java - 如何将结果写入JTextArea

java - 使用hibernate获取数据库元数据