このページでは、Azure Databricks と外部データ ソースとサービスの間の接続を構成している管理者とパワー ユーザー向けの推奨事項を示します。
Azure Databricks アカウントをデータ ソース (たとえば、クラウド オブジェクト ストレージ、リレーショナル データベース管理システム、ストリーミング データ サービス、CRM などのエンタープライズ プラットフォーム) に接続できます。 Azure Databricks アカウントをストレージ以外の外部サービスに接続することもできます。
オブジェクト ストレージへの接続を構成する
Azure Databricks ワークロードで使用されるほとんどのデータは、Azure Data Lake Storage や AWS S3 などのクラウド オブジェクト ストレージに格納されます。 クラウド オブジェクト ストレージへのアクセスは、次のいずれかを使用して管理できます。
Unity カタログ (推奨)。クラウド オブジェクト ストレージ内の構造化データと非構造化データの両方のデータ ガバナンスを提供します。 Unity カタログを使用したクラウド オブジェクト ストレージへの接続を参照してください。
従来のコネクタと接続パターン。 レガシ パターンを使用した Azure Databricks のクラウド オブジェクト ストレージへのアクセスの構成に関するページを参照してください。
外部データ システムへの接続を構成する
Databricks には、外部データ システムへの接続を構成するためのオプションがいくつか用意されています。 次の表は、これらのオプションの概要を示しています。
オプション | 説明 |
---|---|
フェデレーション コネクタのクエリ | Lakehouse Federation は、エンタープライズ データ システム内のデータへの読み取り専用アクセスを提供します。 接続は、Unity Catalog を介してカタログまたはスキーマ レベルで構成され、複数のテーブルが 1 つの構成と同期されます。 「Lakehouse フェデレーションとは」をご覧ください。 |
マネージド インジェスト コネクタ | Lakeflow Connect を使用すると、管理者ユーザーはデータ インジェスト UI で接続とマネージド インジェスト パイプラインを同時に作成できます。
Lakeflow Connect のマネージド コネクタに関する記事を参照してください。 パイプラインを作成するユーザーが管理者以外のユーザーであるか、Databricks API、Databricks SDK、Databricks CLI、または Databricks アセット バンドルを使用する予定の場合、管理者は最初にカタログ エクスプローラーで接続を作成する必要があります。 これらのインターフェイスでは、ユーザーがパイプラインを作成するときに既存の接続を指定する必要があります。 「マネージド インジェスト ソースへの接続」を参照してください。 |
ストリーミング コネクタ | Azure Databricks には、多くのストリーミング データ システム用に最適化されたコネクタが用意されています。 すべてのストリーミング データ ソースに対し、アクセスを提供する資格情報を生成し、これらの資格情報を Azure Databricks に読み込む必要があります。 Databricks では、シークレットを使用して資格情報を保存することをお勧めしています。シークレットはすべての構成オプションとすべてのアクセス モードで使用できるためです。 ストリーミング ソースのすべてのデータ コネクタでは、ストリーミング クエリを定義するときにオプションを使用して資格情報を渡すことができます。 Lakeflow Connect の標準コネクタを参照してください。 |
サードパーティによる統合 | サードパーティのツールを使用して外部データ ソースに接続し、Lakehouse へのデータの取り込みを自動化します。 一部のソリューションには、外部システムからレイクハウス データへのリバース ETL と直接アクセスも含まれています。 「Databricks Partner Connect とは」を参照してください。 |
ドライバー | Azure Databricks には、各 Databricks Runtime の外部データ システム用のドライバーが含まれています。 必要に応じて、サードパーティ製ドライバーをインストールして、他のシステムのデータにアクセスすることもできます。 接続はテーブルごとに構成する必要があります。 一部のドライバーには書き込みアクセスが含まれています。 「外部システムに接続する」を参照してください。 読み取り専用クエリフェデレーションの場合、Lakehouse フェデレーションは常にこれらのドライバーよりも優先されます。 |
JDBC | 外部システム用に含まれているいくつかのドライバーは、JDBC のネイティブ サポートに基づいて構築され、JDBC のオプションには、他のシステムへの接続を構成するための拡張可能なオプションが用意されています。 接続はテーブルごとに構成する必要があります。 「JDBC を使用したデータベースのクエリ」を参照してください。 読み取り専用クエリフェデレーションの場合、Lakehouse フェデレーションは常にこれらのドライバーよりも優先されます。 |
外部サービスへの接続を構成する
Unity カタログは、 サービス資格情報と呼ばれるセキュリティ保護可能なオブジェクトを使用して、ストレージ以外のサービスへのアクセスを制御します。 サービス資格情報は、ユーザーが Azure Databricks から接続する必要がある外部サービスへのアクセスを提供する長期的なクラウド資格情報をカプセル化します。 Unity カタログを使用した外部クラウド サービスへの接続に関するページを参照してください
データ ソースと外部サービスへのアクセスの管理と要求
ほとんどの接続方法では、外部データ ソースまたはサービスと Azure Databricks ワークスペースの両方に対する昇格された特権が必要です。 一般的な組織では、Azure Databricks または外部データおよびストレージ プロバイダーでデータ接続を構成するための十分な特権を持つユーザーはほとんどいません。
組織では、このページからリンクされている記事で説明されているパターンのいずれかを使用して、データ ソースまたはサービスへのアクセスを既に構成している可能性があります。 組織がデータとサード パーティのサービスへのアクセスを要求するための明確に定義されたプロセスを持っている場合、Databricks はそのプロセスに従うことをお勧めします。 データ ソースにアクセスする方法がわからない場合は、次の手順に役立つ可能性があります。
- カタログ エクスプローラーを使用して、自分がアクセスできるテーブルとボリュームを表示します。 「カタログ エクスプローラーとは」を参照してください。
- チームメイトやマネージャーに、アクセスできるデータ ソースについて尋ねます。
- ほとんどの組織では、ID プロバイダー (Okta や Microsoft Entra ID など) から同期されたグループを使用して、ワークスペース ユーザーのアクセス許可を管理します。 チームの他のメンバーがアクセスが必要なデータ ソースにアクセスできる場合は、ワークスペース管理者に正しいグループに追加してアクセス権を付与してもらう必要があります。
- 特定のテーブル、ボリューム、またはデータ ソースが同僚によって構成されている場合、その個人はデータへのアクセスを許可できる必要があります。
一部の組織では、特定のコンピューティング クラスターと SQL ウェアハウスにデータ アクセス許可をアタッチします。 これは従来のガバナンス モデルですが、組織で使用していて、特定のコンピューティング リソースで使用できるデータ ソースを知りたい場合は、[ コンピューティング] タブ に表示されているコンピューティング作成者に問い合わせてください。