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