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クライアントによるリダイレクトの追従を無効にします。 |