JDBC 驅動程式¶
可以使用 JDBC 驅動程式從 Java 存取 Presto。下載 presto-jdbc-0.289.jar 並將其新增至您的 Java 應用程式的類別路徑。
該驅動程式也可以從 Maven Central 取得
<dependency> <groupId>com.facebook.presto</groupId> <artifactId>presto-jdbc</artifactId> <version>0.289</version> </dependency>
需求¶
Presto JDBC 驅動程式具有以下需求
Java 版本 8 或更高版本。
所有使用 JDBC 驅動程式連線到 Presto 的使用者都必須被授予查詢
system.jdbc
結構描述中的表格的權限。
連線¶
支援以下 JDBC URL 格式
jdbc:presto://host:port
jdbc:presto://host:port/catalog
jdbc:presto://host:port/catalog/schema
例如,使用以下 URL 連線到在 example.net
連接埠 8080
上執行的 Presto,其中目錄為 hive
,結構描述為 sales
jdbc:presto://example.net:8080/hive/sales
可以按如下方式使用上述 URL 建立連線
String url = "jdbc:presto://example.net:8080/hive/sales";
Connection connection = DriverManager.getConnection(url, "test", null);
連線參數¶
該驅動程式支援可以設定為 URL 參數或傳遞至 DriverManager
的屬性的各種參數。以下兩個範例是等效的
// properties
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);
// URL parameters
String url = "jdbc:presto://example.net:8443/hive/sales?user=test&password=secret&SSL=true";
Connection connection = DriverManager.getConnection(url);
這些方法可以混合使用;某些參數可以在 URL 中指定,而其他參數則使用屬性指定。但是,不能使用這兩種方法指定相同的參數。
參數參考¶
名稱 |
描述 |
---|---|
|
用於驗證和授權的使用者名稱。 |
|
用於 LDAP 驗證的密碼。 |
|
SOCKS Proxy 主機和連接埠。範例: |
|
HTTP Proxy 主機和連接埠。範例: |
|
要使用的 HTTP 通訊協定的逗號分隔清單。範例: |
|
要附加到任何指定的 |
|
用於基於權杖的驗證的存取權杖。 |
|
用於查詢輸出中時間戳記欄位的時區。範例: |
|
停用伺服器查詢結果 HTTP 回應的壓縮 |
|
使用 HTTPS 進行連線 |
|
Java KeyStore 檔案的位置,其中包含用於驗證的憑證和私密金鑰。 |
|
KeyStore 的密碼。 |
|
Java TrustStore 檔案的位置,該檔案將用於驗證 HTTPS 伺服器憑證。 |
|
TrustStore 的密碼。 |
|
Presto 協調器 Kerberos 服務名稱。此參數為 Kerberos 驗證所必需。 |
|
在向 Presto 協調器進行驗證時要使用的主體。 |
|
首先將主機名稱解析為 IP 位址,然後對該 IP 位址進行反向 DNS 查閱,從而為 Kerberos 服務主體使用 Presto 協調器的標準主機名稱。預設會啟用此功能。 |
|
Kerberos 組態檔案。 |
|
Kerberos keytab 檔案。 |
|
Kerberos 憑證快取。 |
|
用於連線到外部服務的額外憑證。extraCredentials 是鍵值對的清單。範例: |
|
要透過 JDBC 驅動程式注入的自訂標頭。customHeaders 是鍵值對的清單。範例: |
|
驗證查詢執行期間下一個 URI 中的主機和連接埠是否未變更。 |
|
停用 Presto 用戶端以避免因安全考量而追蹤重新導向。 |