JDBCドライバ¶
Prestoは、JDBCドライバを使用してJavaからアクセスできます。 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
たとえば、example.netポート8080で実行されているPrestoに、カタログhiveとスキーマsalesを使用して接続するには、次のURLを使用します。
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に渡されるプロパティとして設定できる様々なパラメータをサポートしています。次の2つの例は同等です。
// 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プロキシのホストとポート。例: | 
| 
 | HTTPプロキシのホストとポート。例: | 
| 
 | 使用するHTTPプロトコルのコンマ区切りのリスト。例: | 
| 
 | 指定された | 
| 
 | トークンベースの認証のためのアクセストークン。 | 
| 
 | クエリ出力のタイムスタンプ列に使用するタイムゾーン。例: | 
| 
 | サーバーからのクエリ結果のHTTPレスポンスの圧縮を無効にします。 | 
| 
 | 接続にHTTPSを使用します。 | 
| 
 | 認証に使用する証明書と秘密鍵を含むJava KeyStoreファイルの場所。 | 
| 
 | KeyStoreのパスワード。 | 
| 
 | HTTPSサーバー証明書の検証に使用されるJava TrustStoreファイルの場所。 | 
| 
 | TrustStoreのパスワード。 | 
| 
 | PrestoコーディネーターのKerberosサービス名。このパラメータはKerberos認証に必要です。 | 
| 
 | Prestoコーディネーターへの認証時に使用するプリンシパル。 | 
| 
 | ホスト名を最初にIPアドレスに解決してから、そのIPアドレスの逆DNSルックアップを実行することで、Prestoコーディネーターの正規ホスト名をKerberosサービスプリンシパルに使用します。これはデフォルトで有効になっています。 | 
| 
 | Kerberos設定ファイル。 | 
| 
 | Kerberos keytabファイル。 | 
| 
 | Kerberos資格情報キャッシュ。 | 
| 
 | 外部サービスへの接続のための追加の資格情報。extraCredentialsは、キーと値のペアのリストです。例: | 
| 
 | JDBCドライバを通じて挿入するカスタムヘッダー。customHeadersは、キーと値のペアのリストです。例: | 
| 
 | 次のURIのホストとポートがクエリ実行中に変更されていないことを検証します。 | 
| 
 | セキュリティ対策として、Prestoクライアントによるリダイレクトの追従を無効にします。 |