events
3月31日 23時 - 4月2日 23時
究極の Microsoft Fabric、Power BI、SQL、AI コミュニティ主導のイベント。 2025 年 3 月 31 日から 4 月 2 日。
今すぐ登録このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
この記事では、Azure Databricks を使用して複数の外部データ ソースに対してクエリを実行できるようにするクエリ フェデレーション プラットフォームである Lakehouse フェデレーションについて紹介します。 また、Lakehouse フェデレーション接続を設定し、Unity Catalog メタストアに外部カタログを作成する方法についても説明します。
Lakehouse フェデレーションは、Azure Databricks のクエリ フェデレーション プラットフォームです。 クエリ フェデレーションという用語は、すべてのデータを統合システムに移行することなく、ユーザーとシステムが複数のデータ ソースに対してクエリを実行できるようにする機能のコレクションを表します。
Azure Databricks は、Unity Catalog を使用してクエリ フェデレーションを管理します。 プロの SQL ウェアハウス、サーバーレス SQL ウェアハウス、Databricks Runtime クラスターに含まれるドライバーを使用して、一般的なデータベース ソリューションへの読み取り専用接続を構成します。 Unity Catalog のデータ ガバナンスおよびデータ系列 ツールは、Azure Databricks ワークスペース内のユーザーによって行われたすべてのフェデレーション クエリに対するデータ アクセスの管理と監査を保証します。
Lakehouse は、データの冗長性と分離を減らすために、データの中央ストレージを強調しています。 組織には運用環境に多数のデータ システムがあり、接続されたシステムのデータに対してさまざまな理由でクエリを実行する必要がある場合があります。
これらの各シナリオでは、クエリ フェデレーションを使用すると、適切な場所でデータをクエリでき、複雑で時間のかかる ETL 処理を回避できるため、より迅速に分析情報を得ることができます。
Lakehouse フェデレーションは次のような場合のユースケースを対象としています。
Lakehouse フェデレーを使用してデータセットを読み取り専用クエリに使用できるようにするには、次のものを作成します。
Lakehouse フェデレーションは、次の種類のデータベースへの接続をサポートしています。
ワークスペースの要件:
コンピューティングの要件:
必要なアクセス許可:
CREATE CONNECTION
特権を持つユーザーである必要があります。CREATE CATALOG
権限を持ち、接続の所有者であるか、接続に対する CREATE FOREIGN CATALOG
特権を持っている必要があります。追加の権限要件は、以下の各タスク ベースのセクションで規定されています。
接続では、外部データベース システムにアクセスするためのパスと資格情報を指定します。 接続を作成するには、Catalog Explorer を使用するか、Azure Databricks ノートブックまたは Databricks SQL クエリ エディターで CREATE CONNECTION
SQL コマンドを使用します。
注意
Databricks REST API または Databricks CLI を使用して接続を作成することもできます。 POST /api/2.1/unity-catalog/connections および Unity Catalog コマンドを参照してください。
必要な権限: メタストア管理者、または CREATE CONNECTION
特権を持つユーザー。
Azure Databricks ワークスペースで、[カタログ] をクリックします。
[カタログ] ペインの上部にある [追加] アイコンをクリックし、メニューから [接続の追加] を選択します。
または、[クイック アクセス] ページで、[外部データ >] ボタンをクリックし、[接続] タブに移動し、[接続の作成] をクリックします。
わかりやすい接続名を入力します。
[接続の種類] (MySQL や PostgreSQL などのデータベース プロバイダー) を選択します。
接続プロパティ (ホスト情報、パス、アクセス資格情報など) を入力します。
接続の種類ごとに異なる接続情報が必要になります。 左側の目次に記載されている、接続の種類に応じた記事を参照してください。
(省略可能) [接続のテスト] をクリックして、動作することを確認します。
(省略可能) コメントを追加します。
Create をクリックしてください。
ノートブックまたは SQL クエリ エディターで次のコマンドを実行します。 この例は、PostgreSQL データベースへの接続を対象としています。 オプションは接続の種類によって異なります。 左側の目次に記載されている、接続の種類に応じた記事を参照してください。
CREATE CONNECTION <connection-name> TYPE postgresql
OPTIONS (
host '<hostname>',
port '<port>',
user '<user>',
password '<password>'
);
資格情報などの機密性の高い値には、プレーンテキストの文字列ではなく Azure Databricks のシークレットを使用することをお勧めします。 次に例を示します。
CREATE CONNECTION <connection-name> TYPE postgresql
OPTIONS (
host '<hostname>',
port '<port>',
user secret ('<secret-scope>','<secret-key-user>'),
password secret ('<secret-scope>','<secret-key-password>')
)
シークレットの設定については、「シークレットの管理」を参照してください。
既存の接続の管理については、「Lakehouse フェデレーションの接続の管理」を参照してください。
外部カタログは、外部データ システム内のデータベースをミラーリングし、Azure Databricks と Unity Catalog を使ってそのデータベース内のデータに対するクエリの実行とアクセス管理ができるようにします。 外部カタログを作成するには、定義済みのデータ ソースへの接続を使用します。
外部カタログを作成するには、Azure Databricks ノートブックまたは SQL クエリ エディターでカタログ エクスプローラーまたは CREATE FOREIGN CATALOG
SQL コマンドを使用できます。
注意
Unity Catalog API を使用することもできます。 「Azure Databricks リファレンス ドキュメント」を参照してください。
外部カタログ メタデータは、カタログとのやり取りごとに Unity Catalog に同期されます。 Unity Catalog とデータ ソースの間のデータ型マッピングについては、各データ ソースのドキュメントの「データ型マッピング」セクションを確認してください。
必要なアクセス許可: メタストアに対する CREATE CATALOG
アクセス許可と、接続の所有権または接続に対する CREATE FOREIGN CATALOG
特権。
Azure Databricks ワークスペースで、[カタログ] をクリックしてカタログ エクスプローラーを開きます。
[カタログ] ペインの上部にある [追加] アイコンをクリックし、メニューから [カタログの追加] を選択します。
または、[クイック アクセス] ページで、[カタログ] ボタンをクリックし、[カタログの作成] ボタンをクリックします。
「カタログを作成する」で外部カタログを作成する手順に従います。
ノートブックまたは SQL クエリ エディターで次の SQL コマンドを実行します。 角かっこ内の項目は省略可能です。 プレースホルダー値を次のように置き換えます。
<catalog-name>
: Azure Databricks 内のカタログの名前。<connection-name>
: データ ソース、パス、アクセス資格情報を指定する接続オブジェクト。<database-name>
: Azure Databricks でカタログとしてミラーリングするデータベースの名前。 2 層の名前空間を使用する MySQL には必要ありません。<external-catalog-name>
: Databricks 間のみ: ミラーリングしている外部 Databricks ワークスペース内のカタログの名前。 「外部カタログを作成する」を参照してください。CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (database '<database-name>');
外部カタログの管理と操作については、「外部カタログの管理と操作」を参照してください。
Databricks では、具体化されたビューを作成するときに Lakehouse フェデレーションを使って外部データを読み込むことが推奨されます。 「Databricks SQL の具体化されたビューを使用する」を参照してください。
Lakehouse フェデレーションを使う場合、ユーザーは次のようにフェデレーション データを参照できます。
CREATE MATERIALIZED VIEW xyz AS SELECT * FROM federated_catalog.federated_schema.federated_table;
Lakehouse Federation は、Databricks SQL ステートメントを、フェデレーション データ ソースにプッシュダウンできるステートメントに変換します。 生成された SQL ステートメントを表示するには、クエリ プロファイルのグラフ ビューで外部データ ソース スキャン ノードをクリックするか、EXPLAIN FORMATTED SQL ステートメントを実行します。 対象範囲については、各データ ソースのドキュメントの「サポートされているプッシュダウン」セクションを参照してください。
Azure Databricks は Unity Catalog のセキュリティ保護可能なすべてのオブジェクトにリソース クォータを実施されます。 これらのクォータは、リソースの制限に記載されています。 外部カタログとそのカタログに含まれるすべてのオブジェクトは、クォータ使用量の合計に含まれます。
これらのリソース制限を超えることが予想される場合は、Azure Databricks アカウント チームにお問い合わせください。
Unity Catalog リソース クォータ API を使用して、クォータの使用状況を監視できます。 「 Unity Catalog リソース クォータの使用状況の監視」を参照してください。
events
3月31日 23時 - 4月2日 23時
究極の Microsoft Fabric、Power BI、SQL、AI コミュニティ主導のイベント。 2025 年 3 月 31 日から 4 月 2 日。
今すぐ登録トレーニング
認定資格
Microsoft Certified: Azure Data Fundamentals - Certifications
Microsoft Azure データ サービスに関連するコア データの概念に関する基礎知識を示します。
ドキュメント
Microsoft SQL Server でフェデレーション クエリを実行する - Azure Databricks
Azure Databricks で管理されていない Microsoft SQL Server データに対してフェデレーション クエリを実行できるように、Azure Databricks Lakehouse フェデレーションを構成する方法をご確認ください。
別の Databricks ワークスペースでフェデレーション クエリを実行する - Azure Databricks
別の Databricks ワークスペースにあるデータに対してフェデレーション クエリを実行できるように、Azure Databricks Lakehouse フェデレーションを構成する方法について説明します。
外部カタログの管理と操作 - Azure Databricks
Azure Databricks Lakehouse フェデレーションを使用して、外部データベースをミラーリングする外部カタログを操作する方法について説明します。