サポートされている接続プロパティ
この記事では、 Databricks JDBC ドライバー (OSS) でサポートされている接続プロパティについて説明します。
認証とプロキシのプロパティ
次の認証プロパティとプロキシ プロパティは、 Databricks JDBC ドライバー (OSS) でサポートされています。プロパティは大文字と小文字を区別しません。
属性 | デフォルト値 | 説明 |
---|---|---|
|
| 非同期クエリ実行ステータスの各ポーリング間の時間 (ミリ秒単位)。非同期とは、Spark に対するクエリの実行に使用される RPC 呼び出しが非同期であるという事実を指します。これは、JDBC 非同期操作がサポートされているという意味ではありません。 |
|
| ドライバー接続の OAuth2 認証フロー。このプロパティは、 |
|
| 秘密鍵 JWT 認証のアルゴリズム。サポートされているアルゴリズムは、RSA:RS256、RS384、RS512、PS256、PS384、PS512、およびEC:ES256、ES384、ES512です。 |
|
| JWT 認証用の秘密鍵ファイル (PEM 形式) へのパス。 |
|
| 暗号化された秘密キーを復号化するためのパスフレーズ。 |
|
| JWT 認証に必要なキー識別子 (KID)。これは、秘密鍵 JWT を使用する場合に必須です。 |
|
| 新しいアクセス トークンを取得するために使用される OAuth2 更新トークン。 |
|
| OAuth2 フローの認証スコープ。 |
| 必須 | 認証メカニズム ( |
|
| Azure 固有の認証用の Azure テナント ID。 |
|
|
|
|
| また、 に |
|
| また、 |
|
|
|
|
|
|
|
| 使用するデフォルト・カタログの名前。 |
|
| 使用するデフォルトのスキーマの名前。これを指定するには、URL の URL の |
|
|
|
|
|
|
|
| Google サービス アカウント認証用の JSON キー ファイルへのパス。 |
|
| Google サービス アカウントを使用した認証を有効にします。 |
|
| 認証用の OAuth2 クライアント ID。デフォルトでは、 |
|
| OAuth2 フローで使用される認証エンドポイント URL。 |
|
| OAuth2 フローのトークンエンドポイント URL。 |
|
| ブラウザベースの認証フロー用の OAuth2 リダイレクト URL ポート。 |
|
| OIDC 設定を取得するための OpenID Connect 検出 URL。 |
|
|
|
|
| また、 に |
|
| また、 |
|
|
|
|
|
|
|
| OAuth U2M トークンキャッシュの暗号化に使用するパスフレーズ。 |
|
|
|
|
| クライアントシークレット認証が制限されているM2Mユースケースで、プライベートキーJWT認証を有効にします。 |
|
|
|
|
|
|
SSL トラスト・ストア構成プロパティー
次の SSL トラスト ストア構成プロパティは、 Databricks JDBC ドライバー (OSS) でサポートされています。プロパティは大文字と小文字を区別しません。
属性 | デフォルト値 | 説明 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
| コネクタが SSL 対応ソケットを介して Spark サーバーと通信するかどうか。 |
|
| クライアント証明書認証用の SSL 鍵ストア・ファイルへのパス。デフォルトでは、サーバーのみの TLS 認証が実行されるため、クライアント証明書は必要ありません。 |
|
| SSL キーストアファイルのパスワード。 |
|
| SSL キーストアのタイプ。有効な値は、 |
|
| SSL 証明書の検証のためのトラストストアファイルへのパス。 |
|
| トラスト・ストア・ファイルのパスワード (パスワードで保護されている場合)。 |
|
| トラストストアのタイプ (JKS や PKCS12 など)。指定しない場合、ドライバーはデフォルトで JKS トラストストアになります。有効なタイプは、 |
|
|
|
トラストストアの種類
JDBC ドライバーは、次の SSL モードとトラストストアタイプをサポートしています。
自己署名証明書モード
自己署名証明書モードを使用するには、接続プロパティを AllowSelfSignedCerts=1
に設定します。このモードでは、任意の証明書を受け入れる trust-all ソケット ファクトリを使用します。
カスタムトラストストア
カスタム・トラスト・ストアを使用するには、 SSLTrustStore
接続プロパティーでカスタム・トラスト・ストア・ファイルを指定します。このトラストストアは、指定されたパスから直接ロードされ、SSL証明書の検証に証明書を使用します。JKS、PKCS12、またはその他のサポートされている形式にすることができます。
次の追加の接続プロパティを指定する必要があります。
SSLTrustStore
: トラストストアファイルへのパスSSLTrustStorePassword
: トラストストアのパスワード (必要な場合)SSLTrustStoreType
: トラストストアのタイプ (オプション、指定されていない場合はデフォルトは JKS です)
Javaシステム・プロパティ・トラスト・ストア
システム・プロパティーのトラスト・ストアを使用するには、 UseSystemTrustStore=1
を設定し、カスタム・トラスト・ストアを指定しないようにしてください。代わりに、Java システム・プロパティ javax.net.ssl.trustStore
を使用してトラスト・ストアを指定します。このプロパティは、次のように -D
フラグを使用して JVM レベルで設定されます。
java -Djavax.net.ssl.trustStore=/path/to/truststore.jks -Djavax.net.ssl.trustStorePassword=changeit ...
JDBC ドライバーは、最初に Java システム・プロパティー javax.net.ssl.trustStore
を確認します。設定されている場合は、JDKのデフォルトのかわりにこのトラスト・ストア・ファイルが使用されます。システム・プロパティが設定されていない場合は、 $JAVA_HOME/lib/security/cacerts
または同様のパスでocatedされているJDKのデフォルトのトラスト・ストア(cacerts)を使用します。
JDK のデフォルト・トラスト・ストア (cacerts)
JDK には、有名な認証局からの証明書を含む cacerts と呼ばれる組み込みのトラストストアが付属しており、これらの CA によって発行された証明書を検証できます。このトラストストアは通常、デフォルトのパスワード「changeit」または「changeme」で $JAVA_HOME/lib/security/cacerts
にあります。
JDK のデフォルト・トラスト・ストアを使用するには、 UseSystemTrustStore=1
を設定し、カスタム・トラスト・ストアや Java システム・プロパティ・トラスト・ストアを指定しないようにします。トラストストアが Java システムプロパティ javax.net.ssl.trustStore
を使用しても指定されている場合、そのトラストストアは無視され、ドライバーはデフォルトの JDK トラストストアからの証明書のみを使用します。
トラストストアの優先順位
ドライバーは、次の優先順位を使用して、使用するトラストストアを決定します。
SSLTrustStore
接続プロパティで指定されたカスタム・トラスト・ストア- Java システム・プロパティで指定されたトラスト・ストア
javax.net.ssl.trustStore
(UseSystemTrustStore=1
の場合) - JDK のデフォルトのトラストストア (cacerts)
セキュリティに関する推奨事項
接続を安全に保つために、Databricks では次のことをお勧めします。
-
本番運用環境の場合:
- 自己署名証明書モード (
AllowSelfSignedCerts=1
) は使用しないでください。 - 公式の CA 署名付き証明書を使用します。
- カスタムトラストストアが必要な場合を除き、
UseSystemTrustStore=1
を使用してください。
- 自己署名証明書モード (
-
カスタムトラストストアの場合:
- デフォルトのトラストストアにない証明書を持つサーバーに接続する場合に使用します。
- トラストストアに完全な証明書チェーンが含まれていることを確認します。
- 適切なアクセス許可でトラスト ストア ファイルを保護します。
再試行戦略のプロパティ
次の再試行戦略プロパティは、 Databricks JDBC ドライバー (OSS) でサポートされています。プロパティは大文字と小文字を区別しません。
属性 | デフォルト値 | 説明 |
---|---|---|
|
|
|
|
| レート制限の再試行タイムアウト (秒単位)。 |
|
|
|
|
| 一時的に使用できないエラーの再試行タイムアウト (秒単位)。 |
|
| Unity Catalog ボリューム インジェストの再試行可能な HTTP コードのコンマ区切りリスト。 |
|
| Unity Catalog ボリューム インジェスト HTTP 要求の再試行タイムアウト (分単位)。 |
パフォーマンスと接続管理のプロパティー
次のパフォーマンスと接続管理のプロパティは、 Databricks JDBC ドライバー (OSS) でサポートされています。プロパティは大文字と小文字を区別しません。
属性 | デフォルト値 | 説明 |
---|---|---|
|
| クラウド・フェッチ操作のスレッド・プール・サイズ。 |
|
| メタデータ レポートの文字列列に含めることができる最大文字数。 |
|
| HTTP 接続プールの最大サイズ。 |
|
| アイドル状態の HTTP 接続の有効期限 (秒単位)。 |
|
| クエリが一度に返す最大行数。これは、インライン結果にのみ適用されます。 |
|
| ネットワーク操作のソケット タイムアウト (秒単位)。 |
SQL 構成プロパティ
次の SQL 構成プロパティは、 Databricks JDBC ドライバー (OSS) でサポートされています。これらについては、「 構成パラメーター」でも説明されています。プロパティは大文字と小文字を区別しません。
属性 | デフォルト値 | 説明 |
---|---|---|
|
| 特定の関数とキャストルールに対して厳密な ANSI SQL 動作を有効にするかどうか。 |
|
| Photonベクトル化クエリエンジンを有効にするかどうか。 |
|
| 日付とタイムスタンプの解析と書式設定に使用されるメソッド。有効な値は、 |
|
| ファイルベースのソースから読み取るときに 1 つのパーティションにパックする最大バイト数。この設定は任意の正の整数にすることができ、オプションで |
|
|
|
|
| 外部メタストアを読み取り専用として扱うかどうかを制御します。 |
|
| SQL ステートメントのタイムアウトを 0 秒から 172800 秒の間で設定します。 |
|
| ローカルタイムゾーンを設定します。 |
|
| Databricks SQL が可能な限り結果をキャッシュして再利用するかどうか。 |
ログ記録のプロパティ
次のログ プロパティは、 Databricks JDBC ドライバー (OSS) でサポートされています。プロパティは大文字と小文字を区別しません。
属性 | デフォルト値 | 説明 |
---|---|---|
|
| 許可されるログ・ファイルの最大数 |
|
| 許容される最大ログ・ファイル・サイズ (MB 単位) |
|
| ロギング・レベル (0 から 6 までの値):
このプロパティを使用して、コネクタでのログ記録を有効または無効にしたり、ログ ファイルに含まれる詳細の量を指定したりします。 |
| ログのデフォルトパスを決定するために、ドライバーはこれらのシステムプロパティに設定された値を次の優先順位で使用します。
| ログ記録が有効になっているときにコネクタがログファイルを保存するフォルダへの絶対パス (文字列)。接続 URL がすべての JDBC アプリケーションと互換性があることを確認するには、別のバックスラッシュを入力して、ファイルパスのバックスラッシュ (
|
ログ記録の有効化と構成
JDBC ドライバは、 Simple Logging Facade for Java (SLF4J) および java.util.logging (JUL) フレームワークをサポートしています。ドライバーは、デフォルトで JUL ロギングフレームワークを使用します。
JDBC ドライバーのログ記録を有効にして構成するには、次のようにします。
-
使用するロギングフレームワークを有効にします。
- SLF4J ロギングの場合は、システムプロパティーを
-Dcom.databricks.jdbc.loggerImpl=SLF4JLOGGER
に設定し、SLF4J バインディング実装 (SLF4J バージョン 2.0.13 以上と互換性あり) と対応する構成ファイルをクラスパスに含めます。 - JUL ロギングの場合は、システム・プロパティーを
-Dcom.databricks.jdbc.loggerImpl=JDKLOGGER
に設定します。これがデフォルトです。
- SLF4J ロギングの場合は、システムプロパティーを
-
接続文字列の
LogLevel
プロパティを、ログ ファイルに含める情報レベルに設定します。 -
接続文字列の
LogPath
プロパティを、ログ ファイルを保存するフォルダーへのフル パスに設定します。たとえば、次の接続 URL はロギング レベル 6 を有効にし、ログ ファイルを C に保存します フォルダ:
jdbc: databricks://localhost:11000;LogLevel=6;LogPath=C:\\temp
-
JDBC アプリケーションを再起動し、サーバーに再接続して設定を適用します。
その他の機能プロパティ
次のプロパティを使用すると、 Databricks JDBC ドライバー (OSS) の機能が有効になります。プロパティは大文字と小文字を区別しません。
属性 | デフォルト値 | 説明 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ストリーム上でボリューム操作を有効にするクライアント情報プロパティ。「Databricks JDBC ドライバー (OSS) を使用してボリューム内のファイルを管理する」を参照してください。デフォルトでは、このプロパティによりボリュームに対する REMOVE 操作も有効になります。 重要: これをクライアント情報プロパティとして設定する必要があります。接続 URL でのみ指定すると、ストリームのボリューム操作は有効になりません。 |
|
| バッチ操作とデータ処理の最大バッチ サイズ。 |
| 1 | 有効な値は、0 (圧縮なしの場合) と 1 (LZ4 圧縮の場合) です。ドライバーは、構成された設定に関係なく、インライン結果に対して自動的に 0 (圧縮なし) にオーバーライドされます |
|
| HTTP 要求に含める User-Agent エントリ。この値は次の形式です。 |
|
| JDBC ドライバーが Thrift クライアントとステートメント実行APIのどちらを使用するか . |
| `` | Unity Catalog ボリューム インジェスト ファイルのダウンロードとアップロードに許可されるローカル パスのコンマ区切りの一覧。パスにはサブディレクトリも含まれます。指定しない場合、これは 大事な: セットアップがマルチテナント環境 ( BI ツールや開発者サービスなど) にあり、ユーザーが完全な JDBC URL を制御する場合、サービスはこのプロパティをサンドボックスの場所または存在しないパスに設定する必要があります。 これにより、ユーザーが任意のファイルを書き込んだり、サービスの内部デプロイに干渉したりすることがなくなります。 |
テレメトリ コレクション
テレメトリーにより、Databricks は以下を収集することで、デバッグを効率化し、タイムリーなトラブルシューティングを提供できます。
- クライアント環境の詳細 (ドライバーのバージョン、ランタイム、OS の詳細)
- JDBC 接続設定 (PII データは除く)
- 操作のレイテンシ測定
- 実行結果の形式(インラインJSON、Arrowなど)
- 操作の種類 (実行クエリ、メタデータ クエリ、ボリューム操作)
- エラー分類データ
- 再試行回数
Databricks は厳格なプライバシー基準を維持しており、クエリコンテンツ、結果、または個人を特定できる情報(PII)が収集されないようにしています。