2017-01-10 5 views
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(); 

ありがとう:

は、これは私のコードです。

答えて

1

問題isertコマンドからTABLEが不足しています。

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

ありがとう@sandeep rawat、それは間違いなくキーワードが不足していて、問題を引き起こしている、それは今正常に動作しています:) –

関連する問題