ODBC Driver for Databricks

Build 24.0.9111

Linux DSN の構成

このセクションでは、以下のいくつかのLinux ディストリビューションでODBC 接続をセットアップしDSN を設定する方法を説明します:Ubuntu のようなDebian ベースのシステム、Red Hat Enterprise Linux (RHEL)、およびFedora のようなRed Hat Linux プラットフォーム。

Linux の最小バージョン

Red Hat ベースおよびDebian ベースシステムでサポートされる最小バージョンは以下のとおりです。

OSMin. Version
Ubuntu18.04
Debian10
RHEL8
Fedora28
SUSE15

ドライバー依存関係のインストール

必要な依存関係をインストールするには、次のコマンドをルートとしてまたはsudo で実行します。

  • Debian/Ubuntu:
    apt-get install libc6 libstdc++6 zlib1g libgcc1
  • RHEL/Fedora:
    yum install glibc libstdc++ zlib libgcc

ドライバーのインストール

標準のパッケージ管理システムを使用してドライバーをインストールできます。

Ubuntu のようなDebian ベースのシステムでは、次のコマンドをroot またはsudo で実行します。

dpkg -i /path/to/driver/setup/DatabricksODBCDriverforUnix.deb 

RPM パッケージ形式をサポートするシステムでは、次のコマンドをroot またはsudo で実行します。

rpm -ivh /path/to/driver/DatabricksODBCDriverforUnix.rpm 

ドライバーのライセンス

次のコマンドを実行して本製品 のライセンスを取得します。評価版をアクティベートするには、<key> の入力を省略してください。

cd /opt/cdata/cdata-odbc-driver-for-databricks/bin/
sudo ./install-license.sh <key>

ドライバーマネージャー経由の接続

ドライバーマネージャーはドライバーをロードし、アプリケーションからドライバーに関数呼び出しを渡します。本製品 をドライバーマネージャーに登録して、ドライバーマネージャーのコンフィギュレーションファイルにDSN を定義する必要があります。

本製品 のインストールでは、本製品 をunixODBC ドライバーマネージャーに登録し、システムDSN を作成します。UnixODBC ドライバーマネージャーは、Python やその他多くのアプリケーションから使用できます。アプリケーションに別のドライバーマネージャーが組み込まれている可能性があります。

DSN の作成

unixODBC をインストールしてDSN を設定するには、unixODBC の使用 を参照してください。OBIEE、Informatica、およびSAS に接続するDSN を作成するには、DataDirect ドライバーマネージャーの使用 を参照してください。

Databricks への接続

Databricks クラスターに接続するには、以下のプロパティを設定します。

  • Database:Databricks データベース名。
  • Server:Databricks クラスターのサーバーのホスト名
  • HTTPPath:Databricks クラスターのHTTP パス。
  • Token:個人用アクセストークン。この値は、Databricks インスタンスのユーザー設定ページに移動してアクセストークンタブを選択することで取得できます。

Databricks インスタンスで必要な値は、クラスターに移動して目的のクラスターを選択し、 Advanced Options の下にあるJDBC/ODBC タブを選択することで見つけることができます。

Google Cloud Storage の設定

本製品 は、CSV ファイルのアップロードにDBFS、Azure Blob Storage、およびAWS S3 をサポートしています。

DBFS Cloud Storage

クラウドストレージにDBFS を使用するには、CloudStorageTypeDBFS に設定します。

Azure Blob Storage

次のプロパティを設定します。

  • CloudStorageTypeAzure Blob storage
  • StoreTableInCloud:新しいテーブルを作成する際にクラウドストレージにテーブルを保存する場合は、True
  • AzureStorageAccount:Azure ストレージアカウント名。
  • AzureAccessKey:Databricks アカウントに関連付けられているストレージキー。Azure ポータル(ルートアカウントを使用)経由で確認してください。ストレージアカウントを選択し、Access Keys をクリックしてこの値を取得します。
  • AzureBlobContainer:Azure Blob ストレージコンテナの名前に設定。

AWS S3 Storage

次のプロパティを設定します。

  • CloudStorageTypeAWS S3
  • StoreTableInCloud:新しいテーブルを作成する際にクラウドストレージにテーブルを保存する場合は、True
  • AWSAccessKey:AWS アカウントのアクセスキー。この値には、AWS セキュリティ認証情報ページから取得できます。
  • AWSSecretKey:AWS アカウントのシークレットキー。この値には、AWS セキュリティ認証情報ページから取得できます。
  • AWSS3Bucket:AWS S3 バケット名。
  • AWSRegion:Amazon Web サービスのホスティングリージョン。AWS Region の値は、Amazon S3 サービスのBuckets List ページに移動して取得できます。例:us-east-1

Databricks への認証

CData は、次の認証スキームをサポートしています。

  • Basic
  • 個人用アクセストークン
  • Azure Active Directory(AD)
  • Azure サービスプリンシパル
  • OAuthU2M
  • OAuthM2M

Basic

Basic 認証には、ユーザー名とパスワードが必要です。以下を設定します。

  • AuthSchemeBasic
  • User:ユーザーネーム。これはデフォルト値("Token")をオーバーライドします。
  • Token:パスワード。

個人用アクセストークン

認証するには、次を設定します。

  • AuthSchemePersonalAccessToken
  • Token:Databricks サーバーへの接続に使用するトークン。Databricks インスタンスのユーザー設定ページに移動してアクセストークンタブを選択することで取得できます。

Azure Active Directory

認証するには以下の手順に従います。

  1. Azure ポータルのAzureAD(現在はMicrosoft Entra ID)エンドポイントにアプリケーションを登録します。アプリケーションの作成と登録の方法は、Azure portal でアプリを構成する を参照してください。あるいは、すでに登録されているAzureAD アプリケーションを使用することもできます。

  2. 次のプロパティを設定します。

    • AuthSchemeAzureAD
    • AzureTenant:AzureAD アプリケーションの"概要"ページにある"ディレクトリ(テナント)ID"。
    • OAuthClientId:AzureAD アプリケーションの"概要"ページにある"アプリケーション(クライアント)ID"。
    • CallbackURL:AzureAD アプリケーションの"認証"ページの"リダイレクトURI"。

  3. 接続すると、認証を促すWeb ページが開きます。認証に成功すると、接続が確立されます。

接続文字列の例は次のとおりです。

"Server=https://adb-8439982502599436.16.azuredatabricks.net;HTTPPath=sql/protocolv1/o/8439982502599436/0810-011933-odsz4s3r;database=default;
AuthScheme=AzureAD;InitiateOAuth=GETANDREFRESH;AzureTenant=94be69e7-edb4-4fda-ab12-95bfc22b232f;OAuthClientId=f544a825-9b69-43d9-bec2-3e99727a1669;CallbackURL=http://localhost;"

Azure AD サービスプリンシパル

認証するには、次のプロパティを設定します。

  • AuthSchemeAzureServicePrincipal
  • AzureTenantId:Microsoft Azure Active Directory のテナントID。
  • AzureClientId:Microsoft Azure Active Directory アプリケーションのアプリケーション(クライアント)ID。
  • AzureClientSecret:Microsoft Azure Active Directory アプリケーションのアプリケーション(クライアント)シークレット。

OAuthU2M

OAuthU2M(User-to-Machine)認証により、ユーザーはCLI やSDK などのアプリケーションにワークスペースへのアクセスを許可することができます。セキュアなOAuth トークンを使用するため、ユーザーのパスワードを共有する必要はありません。

OAuthU2M がどのように機能するかは、次のとおりです。

ユーザーがサインインしてOAuthU2M 認証リクエストに同意すると、ツールまたはSDK はOAuth トークンを受け取ります。このトークンにより、ツールまたはSDK はユーザーに代わって認証を行うことができます。

必要な設定は以下のとおりです。

  • OAuthClientId:OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられます。
  • OAuthClientSecret:OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられます。
  • DatabricksAccountId:OAuthU2MLevel がAccountLevel に設定されている場合にのみ必要です。

OAuthM2M

OAuthM2M(Machine-to-Machine)認証は、ネットワークを介して通信するデバイスやアプリケーションの識別を検証します。認可されたマシンのみが、人間の介入なしに安全にデータを交換し、リソースにアクセスできるようにします。

OAuthM2M がどのように機能するかは、次のとおりです。

アプリケーションを認可サーバーに登録し、クライアントID およびシークレットを取得します。保護されたリソースにアクセスする際、お使いのマシンはこれらの認証情報と希望するスコープを含むリクエストを送信します。サーバーは提供された情報を検証し、有効であればアクセストークンを返します。このトークンは、リソースにアクセスするAPI コールのリクエストヘッダーに含まれます。

必要な設定は以下のとおりです。

  • OAuthClientId:OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられます。
  • OAuthClientSecret:OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられます。
  • DatabricksAccountId:OAuthM2MLevel がAccountLevel に設定されている場合にのみ必要です。

ドライバーエンコーディングの設定

ODBC ドライバーは、ODBC ドライバーマネージャーで使用するエンコーディングを指定する必要があります。デフォルトでは、Unix 用のCData ODBC ドライバーはunixODBC と互換性のあるUTF-16 を使用するように設定されていますが、他のドライバーマネージャーでは代替エンコーディングが必要な場合があります。

また、ANSI ODBC API を使用するアプリケーションからODBC ドライバーを使用している場合は、ANSI コードページを設定する必要があります。例えば、ANSI アプリケーションに日本語の文字をインポートするには、設定ファイル'/opt/cdata/cdata-odbc-driver-for-databricks/lib/cdata.odbc.databricks.ini' でコードページを指定できます。

[Driver]
AnsiCodePage = 932

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9111