in src/main/java/com/aliyun/odps/jdbc/JdbcRunner.java [16:64]
public static void main(String[] args) throws SQLException, OdpsException {
if (args.length < 2) {
System.err.println(
"Usage: java -cp odps-jdbc-version-jar-with-dependencies.jar com.aliyun.odps.jdbc.JdbcRunner <jdbc_url> <sql_file>");
System.exit(1);
}
String jdbcUrl = args[0];
String sqlFilePath = args[1];
String sqlContent = readFile(sqlFilePath);
System.out.println("JDBC URL: " + jdbcUrl);
OdpsConnection conn = (OdpsConnection) DriverManager.getConnection(jdbcUrl);
OdpsStatement stmt = conn.createStatement();
if (sqlContent == null) {
System.out.println("no sql content.");
System.exit(0);
}
long start = System.currentTimeMillis();
stmt.execute(sqlContent);
System.out.println(stmt.getSqlExecutor().getLogView());
OdpsResultSet odpsResultSet = (OdpsResultSet) stmt.getResultSet();
long cost = System.currentTimeMillis() - start;
List<String> columnNames = new ArrayList<>();
for (int i = 1; i <= odpsResultSet.getMetaData().getColumnCount(); i++) {
columnNames.add(odpsResultSet.getMetaData().getColumnName(i));
}
System.out.println(columnNames.stream().collect(Collectors.joining("\t")));
while (odpsResultSet.next()) {
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= columnNames.size(); i++) {
Object object = odpsResultSet.getObject(i);
sb.append(object == null ? "NULL" : object.toString());
if (i != columnNames.size()) {
sb.append("\t");
}
}
System.out.println(sb);
}
System.out.println("Summary:\n" + stmt.getSqlExecutor().getSummary());
System.out.println("Execute cost " + cost + " ms;");
System.exit(0);
}