数据湖计算 DLC Presto JDBC 访问

进入数据引擎页面,单击网关的详情按钮,进入网关详情页面。点击创建私有连接,选择提交机所在的 VPC 和子网,单击创建后生成两个访问链接,分别是 Hive2 和 Presto 协议,链接标准 Presto 引擎使用 Presto 协议。

相关产品
数据湖计算 DLC 产品页,含版本规格、价格与购买入口。

注意:说明:

注意:presto 引擎已下线,仅供存量用户使用。

一、支持引擎类型

·标准 Presto 引擎

二、环境准备

·依赖:JDK 1.8

·JDBC 下载:点击下载 presto-jdbc-0.284.jar

注意:当前仅标准 Presto 引擎支持使用 Presto JDBC 访问。如果使用的是 SuperSQL 引擎,请参考 DLC JDBC 访问。

三、创建服务访问链接

注意:创建私有连接会打通引擎网络和所选 VPC 之间的网络。提交机可以是所选 VPC 下任意可以登录使用的服务器,仅用于任务提交使用。如果所选的VPC 下没有提交机,可以新建一个服务器作为提交机。

jdbc:presto://{endpoint}:10999/?sessionProperties=presto.engine:{DataEngineName};region:{Region};database:{DatabaseName};catalog:{Catalog}&extraCredentials=secretkey:{SecretKey};secretid:{SecretId}

四、加载 JDBC 驱动

Class.forName("com.facebook.presto.jdbc.PrestoDriver");

五、通过 DriverManager 创建 Connection

String url = "jdbc:presto://{endpoint}:10999/?sessionProperties=presto.engine:{DataEngineName};region:{Region};database:{DatabaseName};catalog:{Catalog}&extraCredentials=secretkey:{SecretKey};secretid:{SecretId}";Properties properties = new Properties();properties.setProperty("user", {AppId});Connection connection = DriverManager.getConnection(url, properties);

六、JDBC 连接串参数说明

参数 必填 说明
presto.engine 是 标准 Presto 引擎名称
database 是 数据库名称
secretkey 是 腾讯云 API 密钥管理中的 SecretKey
secretid 是 腾讯云 API 密钥管理中的 SecretId
region 是 地域,目前 DLC 服务支持 ap-nanjing, ap-beijing, ap-beijing-fsi, ap-guangzhou,ap-shanghai, ap-chengdu,ap-chongqing, na-siliconvalley, ap-singapore, ap-hongkong, na-ashburn, eu-frankfurt, ap-shanghai-fsi
catalog 是 数据目录名称
extraCredentials 是 SecretKey:腾讯云 API 密钥管理中的 SecretKey
  SecretId:腾讯云 API 密钥管理中的 SecretId
user 是 用户 APPID

七、数据查询完整示例

import com.facebook.presto.jdbc.PrestoStatement;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Properties;public class TestJDBCKyuubiPresto { public static void main(String[] args) throws SQLException { try { Class.forName("com.facebook.presto.jdbc.PrestoDriver"); } catch (ClassNotFoundException e) { e.printStackTrace(); return; } String url = "jdbc:presto://{endpoint}:10999/?sessionProperties=presto.engine:{DataEngineName};region:{Region};database:{DatabaseName};catalog:{Catalog}&extraCredentials=secretkey:{SecretKey};secretid:{SecretId}"; Properties properties = new Properties(); properties.setProperty("user", {AppId}); Connection connection = DriverManager.getConnection(url, properties); PrestoStatement statement = (PrestoStatement) connection.createStatement(); String sql = "show catalogs"; statement.execute(sql); ResultSet rs = statement.getResultSet(); while (rs.next()) { System.out.println(rs.getString(1)); } rs.close(); statement.close(); connection.close(); }

编译完成后,你可以将 jar 包提交到提交机上执行。

赞 (0)
上一篇 4天前
下一篇 4天前