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

Databricks OSS ODBCドライバー

備考

ベータ版

Databricks OSS ODBC ドライバー(バージョン 0.5.0)はベータ版です。一般提供されているバージョン 2.x ドライバーの情報については、Databricks ODBC ドライバーのドキュメントを参照してください。

ドライバーのベータ版の期間中に問題を報告したり、機能の追加をリクエストしたりするには、Databricksアカウントチームにお問い合わせください。

Databricks OSS ODBC ドライバーは、Databricks SQL および Lakehouse//RT warehouse用の ODBC 3.8 ドライバーです。これは、サポートされているワークロードにおいて、Databricks ODBC ドライバー バージョン 2.x の互換性のある代替として設計されています。一般的な 2.x 機能を使用する既存のアプリケーション、DSN、および接続文字列は、通常、変更なしで動作します。

要件​

Databricks OSS ODBCドライバーとDatabricks ODBCドライバーのバージョン2.xでは、同じ登録済みODBCドライバー名、パッケージ識別子、インストールパス、およびライブラリ名を使用します。一方のバージョンを上書きしてインストールすると、既存のインストールが置き換えられます。ドライバーを切り替えるには、使用するバージョンのパッケージを再インストールしてください。

Databricks OSS ODBCドライバーは、以下のプラットフォームでサポートされています。

オペレーティングシステム

パッケージとアーキテクチャ

要件

Windows

MSI for x64 and x86

ドライバーのアーキテクチャは、アプリケーションのアーキテクチャと一致している必要があります。

macOS

IntelおよびApple silicon向けのユニバーサル.pkg

macOS 13.3以降。

Linux

.deb および x86_64、aarch64、i686 用の .rpm

glibc 2.28以降および互換性のあるODBCドライバーマネージャー。

オペレーティングシステム

パッケージとアーキテクチャ

要件

Windows

MSI for x64 and x86

ドライバーのアーキテクチャは、アプリケーションのアーキテクチャと一致している必要があります。

macOS

IntelおよびApple silicon向けのユニバーサル.pkg

macOS 13.3以降。

Linux

.deb および x86_64、aarch64、i686 用の .rpm

glibc 2.28以降および互換性のあるODBCドライバーマネージャー。

また、Databricks SQLまたはLakehouse//RT warehouse用の Server ホスト名 と HTTP Path が必要です。Databricks コンピュート リソースの接続の詳細を取得するを参照してください。

Install the Databricks OSS ODBC ドライバー​

  1. Databricks OSS ODBCドライバーのアーカイブで、ご利用のオペレーティングシステムおよびアーキテクチャ用のDatabricks OSS ODBCドライバー バージョン0.5.0をdownloadします。
  2. downloadしたパッケージをインストールします:
    • Windows では、downloadを解凍し、32ビットまたは64ビットのMSIをランします。インストーラーは、 Databricks ODBC ドライバー を Windows ODBC ドライバー マネージャーに登録します。

    • macOS では、 DatabricksODBC-<version>-macOS.pkgランします。

    • Linuxでは、.debまたは.rpmパッケージをインストールし、unixODBCにドライバーを登録します:

      Bash
      sudo odbcinst -i -d -f /opt/databricks/databricksodbc/Setup/odbcinst.ini

ドライバーライブラリは、バージョン2.xと同じ場所にインストールされます:

  • Windows 64ビット: C:\Program Files\Databricks ODBC Driver\lib\databricksodbc64.dll
  • Windows 32ビット: C:\Program Files (x86)\Databricks ODBC Driver\lib\databricksodbc32.dll
  • MacOS: /Library/databricks/databricksodbc/lib/libdatabricksodbc.dylib
  • Linux 64-bit: /opt/databricks/databricksodbc/lib/64/libdatabricksodbc64.so
  • Linux 32ビット: /opt/databricks/databricksodbc/lib/32/libdatabricksodbc32.so

接続を設定する​

既存の 2.x DSN または接続文字列から起動します。Driver、Host、Port、HTTPPath、SSL、Catalog、Schema などの一般的なプロパティに互換性があります。また、このドライバーは、HTTP トランスポートで不要な従来の共通 2.x プロパティも受け入れるため、既存の DSN を再利用できます。

これらの設定を使用して DSN または DSN なしの接続文字列を作成するには、Databricks ODBC ドライバー の ODBC DSN を作成するまたはDatabricks ODBC ドライバー の ODBC DSN なしの接続文字列を作成するを参照してください。

新規接続の場合は、次の例のプロパティを使用します。DSN の場合は、ODBC ドライバーマネージャーを使用して同じキーと値のペアを入力します。

次の例では、OAuth ユーザーマシン間 (U2M) 認証を使用します。読みやすさを向上させるために改行が含まれています。接続文字列に含めないでください。

ini
Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
AuthMech=11;
Auth_Flow=2;
Catalog=main;
Schema=default

次の認証方法がサポートされています。

認証方法

プロパティ

OAuth ユーザーマシン間 (U2M)

AuthMech=11;Auth_Flow=2。PWD は必須ではありません。永続トークンキャッシュはdefaultで有効になっています。無効にするには EnableTokenCache=0 を設定し、キャッシュの暗号化時にパスフレーズを使用するには TokenCachePassPhrase を設定します。

OAuth マシン間 (M2M)

AuthMech=11;Auth_Flow=1;Auth_Client_ID=<client-id>;Auth_Client_Secret=<client-secret>.

OAuth トークン パススルー

AuthMech=11;Auth_Flow=0;Auth_AccessToken=<oauth-token>.

Databricksパーソナルアクセストークン

AuthMech=3;UID=token;PWD=<personal-access-token>.

認証方法

プロパティ

OAuth ユーザーマシン間 (U2M)

AuthMech=11;Auth_Flow=2。PWD は必須ではありません。永続トークンキャッシュはdefaultで有効になっています。無効にするには EnableTokenCache=0 を設定し、キャッシュの暗号化時にパスフレーズを使用するには TokenCachePassPhrase を設定します。

OAuth マシン間 (M2M)

AuthMech=11;Auth_Flow=1;Auth_Client_ID=<client-id>;Auth_Client_Secret=<client-secret>.

OAuth トークン パススルー

AuthMech=11;Auth_Flow=0;Auth_AccessToken=<oauth-token>.

Databricksパーソナルアクセストークン

AuthMech=3;UID=token;PWD=<personal-access-token>.

バージョン 2.x からの移行​

  1. アプリケーションで使用される機能の既知の制限事項を確認してください。
  2. インストールされている2.xのバージョンを記録し、DSN、接続文字列、およびドライバー構成ファイルをバックアップします。
  3. Databricks OSS ODBC ドライバーのインストール。
  4. 既存の DSN または接続文字列を再利用します。
  5. 接続の作成、メタデータの検出、プリペアドステートメント、パラメーターのバインド、キャンセル、大規模な結果の取得、および代表的なアプリケーションのワークフローをテストします。

Databricks OSS ODBC ドライバーは、2.x よりも詳細な Databricks の型名、および宣言された10進数の精度とスケールをレポートできます。メタデータ値を正確に比較するアプリケーションを検証します。

インストールを置き換えた後にロールバックするには、必要な2.xパッケージを再インストールし、バックアップした構成を復元します。

既知の制限事項​

ドライバーがベータ版の間は、次の制限が適用されます:

  • このドライバーは、Databricks SQLおよびLakehouse//RTのwarehouseをサポートします。汎用コンピュートはサポートしていません。
  • SQL は常に Databricks に直接送信されます。ドライバーは、2.x で利用可能な SQL-92 変換を実行しません。UseNativeQuery は互換性のために受け入れられますが、動作は変更されません。
  • SQL_ATTR_ASYNC_ENABLEおよびSQLCompleteAsyncによる非同期実行はサポートされていません。
  • PUTUnity Catalogボリューム内のファイルの GET および REMOVE 操作はサポートされていません。
  • バイナリ入力パラメーターはサポートされていません。
  • 文字列および Unicode 値を持つ pyodbc の fast_executemany を含むパラメーター配列はサポートされていますが、ドライバーは行ごとに 1 つの実行リクエストを送信します。
  • 大規模な結果はクラウド Fetchを自動的に使用し、インライン化を強制することはできません。結果の取得では、FILE と OBJECT を除く Databricks SQL のデータ型がサポートされます。複雑な値はテキストとして返されます。
  • HTTPS プロキシは基本認証をサポートしていますが、Kerberos や SPNEGO 認証はサポートしていません。
  • 証明書の失効構成および暗号化された相互 TLS 秘密鍵はサポートされていません。
  • 一部の高度な2.xプロパティはサポートされていません。プロパティが適用されない場合、ドライバーはLogsします。