我正在使用 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("查询失败"); 返回; }