2.3. JDBC Driver
Presto can be accessed from Java using the JDBC driver. Download presto-jdbc-0.186.jar and add it to the class path of your Java application.
The driver is also available from Maven Central:
<dependency> <groupId>com.facebook.presto</groupId> <artifactId>presto-jdbc</artifactId> <version>0.186</version> </dependency>
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 |
---|---|
user |
Username to use for authentication and authorization. |
password |
Password to use for LDAP authentication. |
socksProxy |
SOCKS proxy host and port. Example: localhost:1080 |
httpProxy |
HTTP proxy host and port. Example: localhost:8888 |
SSL |
Use HTTPS for connections |
SSLTrustStorePath |
The location of the Java TrustStore file that will be used to validate HTTPS server certificates. |
SSLTrustStorePassword |
The password for the TrustStore. |
KerberosRemoteServiceName |
Presto coordinator Kerberos service name. This parameter is required for Kerberos authentiation. |
KerberosPrincipal |
The principal to use when authenticating to the Presto coordinator. |
KerberosUseCanonicalHostname |
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. |
KerberosConfigPath |
Kerberos configuration file. |
KerberosKeytabPath |
Kerberos keytab file. |
KerberosCredentialCachePath |
Kerberos credential cache. |