Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JDBC4配置单元驱动程序错误:仅支持AEQuery_Java_Jdbc_Hive - Fatal编程技术网

Java JDBC4配置单元驱动程序错误:仅支持AEQuery

Java JDBC4配置单元驱动程序错误:仅支持AEQuery,java,jdbc,hive,Java,Jdbc,Hive,我试图执行一个简单的hiveql语句,如下所示:insert into table1 select*from table2 两个表具有相同的模式,但存储选项不同,即表1存储为avro,表2存储为拼花地板 我将jdbc4驱动程序复制到了项目的位置,并且可以毫无问题地获得到hiveserver2的连接。但是,当我尝试执行上述查询时,出现了以下异常 Only AEQuery is supported. java.sql.SQLException: Only AEQuery is supported.

我试图执行一个简单的hiveql语句,如下所示:insert into table1 select*from table2

两个表具有相同的模式,但存储选项不同,即表1存储为avro,表2存储为拼花地板

我将jdbc4驱动程序复制到了项目的位置,并且可以毫无问题地获得到hiveserver2的连接。但是,当我尝试执行上述查询时,出现了以下异常

Only AEQuery is supported.
java.sql.SQLException: Only AEQuery is supported.
    at com.cloudera.hive.hive.querytranslation.HiveQueryTranslator.translate(HiveQueryTranslator.java:86)
    at com.cloudera.hive.hive.querytranslation.HiveQueryTranslator.translate(HiveQueryTranslator.java:74)
    at com.cloudera.hive.hivecommon.dataengine.HiveJDBCDSIExtQueryExecutor.execute(HiveJDBCDSIExtQueryExecutor.java:168)
    at com.cloudera.hive.jdbc.common.SStatement.executeNoParams(SStatement.java:2719)
    at com.cloudera.hive.jdbc.common.SStatement.execute(SStatement.java:549)
    at py.com.personal.hive.HiveDataLoad.insert(HiveDataLoad.java:46)
    at InsertTest.testHiveInsert(InsertTest.java:23)
Caused by: com.cloudera.hive.support.exceptions.ErrorException: Only AEQuery is supported.
有人能告诉我我做错了什么或者如何解决这个问题吗

这是我的代码:

if (this.conn == null) {
    this.conn = this.cm.connect();
}

Statement stmt = this.conn.createStatement();
String sql = "INSERT INTO " + toTable + " SELECT * FROM " + fromTable;
stmt.execute(sql);
stmt.close();

谢谢。

问题是您在命令中缺少iSeries中的关键字

  String sql = "INSERT INTO **TBALE** " + toTable + " SELECT * FROM " + fromTable;

谢谢@sandeep rawat,肯定是缺少关键字导致了问题,现在它工作正常: