Class.forName("com.facebook.presto.jdbc.PrestoDriver");
// las_queue_name 默认值为 public-queue-presto 即 Presto 公共队列 String url = "jdbc:presto://${endpoint}:8080/${Catalog}/${Schema}?region=cn-beijing&sessionProperties=presto_queue_name:${your-queue-name};compute_group_name:${your-compute-group-name}" Properties properties = new Properties(); properties.setProperty("user", ${User}); properties.setProperty("password", ${Password}); Connection connection = DriverManager.getConnection(url, properties);
参数 | 必填 | 说明 |
---|---|---|
JDBC 服务地址 | 是 | EMR Serverless Presto JDBC 服务: |
Catalog | 是 | Catalog 名称,可以使用 hive、hudi、iceberg 和 delta |
Schema | 是 | 数据库名称 |
region | 是 | EMR Serverless Presto 服务所在地域, 目前支持 cn-beijing、cn-shanghai、cn-guangzhou、ap-southeast-1,请根据实际情况填写 |
user | 是 | 火山引擎 API 密钥管理中的 Access Key ID |
password | 是 | 火山引擎 API 密钥管理中的 Secret Access Key |
presto_queue_name | 否 | EMR Serverless Presto 所在队列名称, 默认值为共队列: presto-public-queue |
compute_group_name | 否 | EMR Serverless Presto 所在计算组名称 |
import com.facebook.presto.jdbc.PrestoStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.util.Properties; public void demo() { try { Class.forName("com.facebook.presto.jdbc.PrestoDriver"); } catch (ClassNotFoundException e) { System.out.println("Failed to load Presto JDCB driver..."); return; } final String ak = "火山引擎 API 密钥管理中的 Access Key ID"; final String sk = "火山引擎 API 密钥管理中的 Secret Access Key"; final String jdbcUrl = "jdbc:presto://${endpoint}:8080/hive/serverless_presto_schema?region=cn-beijing"; Properties properties = new Properties(); properties.setProperty("user", ak); properties.setProperty("password", sk); try (PrestoConnection connection = (PrestoConnection) DriverManager.getConnection(url, properties)) { ResultSet resultSet = connection.createStatement().executeQuery("select name from serverless_presto_table"); while (resultSet.next()) { System.out.println(resultSet.getString(1)); } } catch (Exception e) { e.printStackTrace(); } }
说明
以上代码编译以后,可以将 Jar 包提交到服务器上执行。