我正在使用 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 sql){
sqle.printStackTrace();
log.error("查询失败");
返回;
}