hive-jdbc-0.7.1-cdh3u5.jar を使用しています。EMR でメモリを大量に消費するクエリを実行していて、失敗することがあります。ジョブ トラッカーを見ると、クエリが強制終了されていることがわかり、次のエラーが表示されます。
java.io.IOException: ゼロ以外のステータス 137 でタスク プロセスが終了しました
ただし、Hive JDBC ドライバーの execute() 呼び出しはこれを検出せず、ハングしたままになります。例外はキャッチされません。何か案は?ありがとう:
ST stQuery = MY_QUERY; 試す { ステートメント stmt = conn.createStatement(); stmt.execute(stQuery.render()); // ジョブが強制終了されたことを知らずにここでハングします。例外は発生しません。 } キャッチ(SQLException sqle){ sqle.printStackTrace(); log.error("クエリの実行に失敗しました"); 戻る; }