メインコンテンツまでスキップ

Databricks JDBC ドライバーを使用して Databricks への接続を構成する

この記事では、Databricks JDBC ドライバー バージョン 3 以降を使用して Databricks への接続を構成する方法について説明します。

接続を構成する

Databricksドライバーを使用して ワークスペースに接続するには、JDBC Databricksワークスペースのサーバーホスト名、コンピュート リソース設定、ワークスペースに接続するための認証資格情報など、さまざまな接続設定を指定する必要があります。

注記

JDBCドライバーは、ジョブコンピュートへの接続をサポートしていません。

これらのプロパティの値は、JDBC 接続 URL で設定するか、 DriverManager.getConnection メソッドに設定して渡すか、またはその両方の組み合わせで行うことができます。特定のアプリ、クライアント、SDK、API、または SQL ツールを使用して接続する最適な方法については、プロバイダーのドキュメントを参照してください。

JDBC 接続 URL は、次の形式にする必要があります。プロパティは大文字と小文字を区別しません。

jdbc:databricks://<server-hostname>:<port>/<schema>;[property1]=[value];[property2]=[value];...

または、 java.util.Properties クラスまたは組み合わせを使用して設定を指定します。

Java
String url = "jdbc:databricks://<server-hostname>:<port>/<schema>";
Properties properties = new java.util.Properties();
properties.put("<property1>", "<value1");
properties.put("<property2>", "<value2");
// ...
Connection conn = DriverManager.getConnection(url, properties);
Java
String url = "jdbc:databricks://<server-hostname>:<port>/<schema>;[property1]=[value];[property2]=[value];";
Connection conn = DriverManager.getConnection(url, "token", "12345678901234667890abcdabcd");

接続 URL 要素については、次の表で説明します。

認証プロパティ、 SQL 構成プロパティ、ログ記録プロパティなど、その他のプロパティに関する情報については、「 サポートされている接続プロパティ」を参照してください。

注記

URL 要素とプロパティは大文字と小文字を区別しません。

URL 要素またはプロパティ

説明

<server-hostname>

Databricks コンピュート リソースのサーバー ホスト名の値。

<port>

Databricks コンピュート リソースのポート値。デフォルト値は 443です。

<schema>

スキーマの名前。または、 ConnSchema プロパティを設定することもできます。サポートされている接続プロパティを参照してください。

httpPath

Databricks コンピュート リソースの HTTP パス値。コネクタは、接続 URL で指定されたホストとポートに httpPath 値を付加して、接続先の HTTP アドレスを形成します。たとえば、HTTP アドレス http://localhost:10002/cliserviceに接続するには、次の接続 URL を使用します。 jdbc:databricks://localhost:10002;httpPath=cliservice

クラスター JDBCのDatabricks 接続URLを取得するには:

  1. Databricksワークスペースにログインします。
  2. サイドバーで「 コンピュート 」をクリックし、ターゲットのクラスターの名前をクリックします。
  3. 構成 タブで、 詳細オプション を展開します。
  4. 「JDBC/ODBC」 タブをクリックします。
  5. JDBC 接続 URL として使用する JDBC URL をコピーするか、[ サーバーホスト名 ]、[ ポート ]、および [HTTP パス ] フィールドの値から URL を作成します。

Databricks SQL ウェアハウスの JDBC 接続 URL を取得するには、次のようにします。

  1. Databricksワークスペースにログインします。
  2. サイドバーで「 SQLウェアハウス 」をクリックし、対象のウェアハウスの名前をクリックします。
  3. 接続の詳細 タブをクリックします。
  4. JDBC 接続 URL として使用する JDBC URL をコピーするか、[ サーバーホスト名 ]、[ ポート ]、および [HTTP パス ] フィールドの値から URL を作成します。

クエリタグを設定する

備考

プレビュー

この機能はプライベートプレビュー段階です。アクセスをリクエストするには、アカウント チームにお問い合わせください。

追跡と分析の目的で、 SQLクエリにキーと値のタグを添付できます。 クエリ タグは、クエリの識別と分析のためにsystem.query.historyテーブルに表示されます。

接続にクエリ タグを追加するには、JDBC URL にquery_tagsプロパティを含めます。

jdbc:databricks://<server-hostname>:<port>/<schema>;query_tags=key1:value1,key2:value2

クエリタグはカンマ区切りのキーを使用します ペア形式:

  • query_tags=key:value (単一タグ)
  • query_tags=key1:value1,key2:value2,key3:value3 (複数のタグ)

プロキシ接続を構成する

Databricks に直接接続する代わりに、プロキシ サーバー経由で接続するようにコネクタを構成できます。プロキシー・サーバー経由で接続する場合、コネクターは基本認証と SPNEGO 認証をサポートします。

プロキシ接続を設定するには:

  1. UseProxy プロパティを 1 に設定します。
  2. システム レベルでプロキシ設定を構成するには、 UseSystemProxy プロパティを 1 に設定し、それ以外の場合は次のようにドライバーに設定します。
    1. ProxyHost プロパティをプロキシ サーバーの IP アドレスまたはホスト名に設定します。
    2. ProxyPort プロパティを、プロキシー・サーバーがクライアント接続を listen するために使用するポートに設定します。
    3. ProxyIgnoreList プロパティをコンマ区切りのホスト名に設定します。
    4. プロキシサーバーで認証します。
      • 基本認証を使用するには

        1. ProxyAuth プロパティを 1 に設定します。
        2. ProxyUID プロパティを、サーバーにアクセスするためのユーザー名に設定します。
        3. ProxyPWD プロパティを、サーバーにアクセスするためのパスワードに設定します。
      • SPNEGO 認証を使用するには、次のようにします。

        1. Kerberos プリンシパルをシステム・レベルで認証します。
        2. ProxyAuth プロパティを 2 に設定します。

CloudFetch専用の別のプロキシを使用するには、次のプロパティを使用して上記の手順に従います: UseCFProxyCFProxyHostCFProxyPortCFProxyAuthCFProxyUIDCFProxyPwd

SSL の設定

Secure Sockets Layer (SSL) が有効になっている Databricks に接続する場合は、SSL が有効なソケットに接続するようにコネクタを構成できます。SSL 経由でサーバーに接続する場合、コネクタは一方向認証を使用してサーバーの ID を確認します。

一方向認証では、サーバーの ID を確認するために、署名された信頼できる SSL 証明書が必要です。適切な証明書を含む特定のトラストストアにアクセスするようにコネクタを構成できます。TrustStore を指定しない場合、コネクタは jssecacerts という名前のデフォルトの Java TrustStore を使用します。jssecacerts が使用できない場合、コネクタは代わりに cacerts を使用します。

SSL を設定するには:

  1. SSL プロパティを 1 に設定します。
  2. デフォルトの Java トラストストアの 1 つを使用していない場合は、トラストストアを作成し、それを使用するようにコネクタを設定します。
    1. 署名済みの信頼できるサーバー証明書を含むトラストストアを作成します。
    2. SSLTrustStore プロパティを TrustStore の絶対パスに設定します。
    3. SSLTrustStorePwd プロパティを、TrustStore にアクセスするためのパスワードに設定します。
    4. TrustStore が JKS TrustStore でない場合は、SSLTrustStoreType プロパティを正しいタイプに設定します。サポートされているタイプは次のとおりです。
      • SSLTrustStoreType=BCFKS (BouncyCastle FIPSキーストア)
      • SSLTrustStoreType=PKCS12 (公開鍵暗号規格 #12)

場合によっては、証明書失効戦略を変更する場合、コネクタには次のパラメーターが用意されています。

  • CheckCertRevocation プロパティを 0 に設定すると、失効した証明書を受け入れます (プロパティのデフォルト値は 1 です)
    • AcceptUndeterminedRevocation プロパティを 1 に設定すると、証明書の失効ステータスを識別できない (CRLDP が到達不能/タイムアウトなど) 証明書を受け入れ、このプロパティのデフォルト値は 0 です

ドライバーを認証する

JDBCドライバの認証設定に関する情報については、 「Databricks JDBCドライバの認証設定」を参照してください。