1
即時處理的應用程序在AWS Redshift上運行一系列查詢。由於數據量的原因,某些查詢需要更長時間才能執行。Redshift/Java:SQL執行掛起並永不返回
當我檢查服務器上的執行細節時,查詢似乎在Redshift上完成。但是,java應用程序似乎無限期地掛起而不會拋出任何異常,甚至終止。
下面是執行查詢的代碼。
private void execSQLStrings(String[] queries, String dataset, String dbType) throws Exception {
Connection conn = null;
if (dbType.equals("redshift")) {
conn=getRedshiftConnection();
} else if (dbType.equals("rds")){
conn=getMySQLConnection();
}
Statement stmt=conn.createStatement();
String qry=null;
debug("Query Length: " + queries.length);
for (int ii=0;ii<queries.length;++ii) {
qry=queries[ii];
if (dataset != null) {
qry=qry.replaceAll("DATASET",dataset);
}
debug(qry);
stmt.execute(qry);
}
stmt.close();
conn.close();
}
我不能發佈即時運行的查詢,但它有多個表連接和組的條件和它的800米行表。查詢需要大約7〜8分鐘才能在服務器上完成。
謝謝!這絕對有幫助。 – Naveen