3.2. JDBC Driver#
Presto can be accessed from Java using the JDBC driver. Download presto-jdbc-338.jar and add it to the class path of your Java application.
The driver is also available from Maven Central:
<dependency> <groupId>io.prestosql</groupId> <artifactId>presto-jdbc</artifactId> <version>338</version> </dependency>
Requirements#
The JDBC driver is compatible with Java 8, and can be used with applications running on Java virtual machines version 8 and higher.
Driver Name#
The driver class name is io.prestosql.jdbc.PrestoDriver
.
Most users do not need this information as drivers are loaded automatically.
Connecting#
The following JDBC URL formats are supported:
jdbc:presto://host:port
jdbc:presto://host:port/catalog
jdbc:presto://host:port/catalog/schema
For example, use the following URL to connect to Presto
running on example.net
port 8080
with the catalog hive
and the schema sales
:
jdbc:presto://example.net:8080/hive/sales
The above URL can be used as follows to create a connection:
String url = "jdbc:presto://example.net:8080/hive/sales";
Connection connection = DriverManager.getConnection(url, "test", null);
Connection Parameters#
The driver supports various parameters that may be set as URL parameters,
or as properties passed to DriverManager
. Both of the following
examples are equivalent:
// URL parameters
String url = "jdbc:presto://example.net:8080/hive/sales";
Properties properties = new Properties();
properties.setProperty("user", "test");
properties.setProperty("password", "secret");
properties.setProperty("SSL", "true");
Connection connection = DriverManager.getConnection(url, properties);
// properties
String url = "jdbc:presto://example.net:8080/hive/sales?user=test&password=secret&SSL=true";
Connection connection = DriverManager.getConnection(url);
These methods may be mixed; some parameters may be specified in the URL, while others are specified using properties. However, the same parameter may not be specified using both methods.
Parameter Reference#
Name |
Description |
---|---|
|
Username to use for authentication and authorization. |
|
Password to use for LDAP authentication. |
|
SOCKS proxy host and port. Example: |
|
HTTP proxy host and port. Example: |
|
Extra information about the client. |
|
Client tags for selecting resource groups. Example: |
|
Trace token for correlating requests across systems. |
|
Prefix to append to any specified |
|
Access token for token based authentication. |
|
Use HTTPS for connections |
|
The location of the Java KeyStore file that contains the certificate and private key to use for authentication. |
|
The password for the KeyStore. |
|
The location of the Java TrustStore file to use. to validate HTTPS server certificates. |
|
The password for the TrustStore. |
|
Presto coordinator Kerberos service name. This parameter is required for Kerberos authentication. |
|
The principal to use when authenticating to the Presto coordinator. |
|
Use the canonical hostname of the Presto coordinator for the Kerberos service principal by first resolving the hostname to an IP address and then doing a reverse DNS lookup for that IP address. This is enabled by default. |
|
Presto coordinator Kerberos service principal pattern. The default is
|
|
Kerberos configuration file. |
|
Kerberos keytab file. |
|
Kerberos credential cache. |
|
Extra credentials for connecting to external services,
specified as a list of key-value pairs. For example,
|
|
Authorization roles to use for catalogs, specified as a list of
key-value pairs for the catalog and role. For example,
|
|
Session properties to set for the system and for catalogs,
specified as a list of key-value pairs.
For example, |