文档

使用JDBC提交Presto作业

更新时间:

本文为您介绍如何使用JDBC编程的方式访问Trino On ACK服务并执行查询操作。

背景信息

Trino JDBC使用和相关参数的更多信息,请参见JDBC driver

前提条件

  • 已在E-MapReduce on ACK控制台创建Presto集群,详情请参见快速入门

  • 已添加AliyunOSSFullAccess和AliyunDLFFullAccess权限,详情请参见角色授权

  • 已配置Presto集群admin用户的密码,详情请参见配置集群管理密码

操作步骤

说明
  • url:您可以在访问链接与端口页面,获取到Trino UI的链接,然后修改链接中的trinotrino-cli

  • 用户名和密码:默认用户admin,以及提前配置的密码。

  1. 添加POM依赖。

    pom.xml文件中添加以下信息。

    <!-- JDBC包通常都是向下兼容的,依赖版本选择社区最新版即可-->
    <dependency>
      <groupId>io.trino</groupId>
      <artifactId>trino-jdbc</artifactId>
      <version>xxx</version>
    </dependency>
  2. JDBC访问Trino on ACK。

    示例TrinoSqlConnection.java内容如下。

    package com.alibaba.emr;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Properties;
    
    public class TrinoSqlConnection {
        public static void main(String[] args) throws SQLException {
            // 连接地址
            String url = "jdbc:trino://trino-cli.c-xxx.xxx.cn-hangzhou.alicontainer.com:443";
            Properties properties = new Properties();
            // 用户名
            properties.setProperty("user", "xxx");
            // 密码
            properties.setProperty("password", "xxx");
            properties.setProperty("SSL", "true");
            properties.setProperty("SSLVerification", "NONE");
            Connection connection = DriverManager.getConnection(url, properties);
            Statement stmt = connection.createStatement();
            ResultSet rs = stmt.executeQuery("show catalogs");
            while(rs.next()){
                System.out.println(rs.getString("Catalog"));
            }
            stmt.close();
            connection.close();
        }
    }
  • 本页导读 (1)