0
次のような単純なhiveqlステートメントを実行しようとしています。JDBC4ハイブ・ドライバー・エラー:AEQueryのみがサポートされています
両方のテーブルのスキーマは同じですが、ストアオプションが異なります。つまり、table1はavro、table2はパーケットとして格納されます。
プロジェクトの場所に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();
ありがとう:
は、これは私のコードです。
ありがとう@sandeep rawat、それは間違いなくキーワードが不足していて、問題を引き起こしている、それは今正常に動作しています:) –