import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Presto {
public static void main(String[] args) {
try {
long start,end;
start = System.currentTimeMillis();
Connection connection = DriverManager.getConnection("jdbc:presto://连接ip:端口/reports/reports?user=admin");
Statement stmt = connection.createStatement();
String sql;
sql="WITH t3 AS (select 字段1,字段2 from 数据表名 group by 字段1,字段2),t4 AS (select url, array_agg(json_extract(json_parse(trim(record)), ‘$.id‘)) as guiderIds,date_trunc(‘day‘,time) as time from 数据表名 group by url,date_trunc(‘day‘,time)) SELECT t4.字段1,t4.字段2,t4.time,t3.字段1 FROM t4 LEFT JOIN t3 ON t4.字段1=t3.字段1";
System.out.println(sql);
end = System.currentTimeMillis();
System.out.print("connect:");
System.out.println((end - start)/1000);
for(int i = 0; i < 6; ++i) {//分别执行6次
start = System.currentTimeMillis();
ResultSet rs = stmt.executeQuery(sql);
//System.out.println(rs.getClass().getName().toString());
end = System.currentTimeMillis();
System.out.print(i);
System.out.print(" execute(ms):");
System.out.print(end - start);
start = System.currentTimeMillis();
while (rs.next()) {
//System.out.println(rs.getString(1));
}
rs.close();
System.out.print(" readData(ms):");
end = System.currentTimeMillis();
System.out.println(end - start);
}
connection.close();
}catch(Exception e){
System.out.println(e);
}
}
}