外部システムを使用した Databricks データへのアクセス
このページでは、Databricksによって管理・統制されているデータを外部システムで利用可能にするための機能概要と推奨事項について説明します。
これらのパターンは、組織が信頼できるツールまたはシステムを Databricks データに統合する必要があるシナリオに重点を置いています。組織外でデータを共有するためのガイダンスを探している場合は、 「データと AI アセットを安全に共有する」を参照してください。
Databricks はどのような外部アクセスをサポートしていますか?
Databricks では、Unity Catalog を使用してすべてのデータ資産を管理することをお勧めします。Unity Catalog は、 Unity REST API を使用した Delta Lake クライアントと、 Iceberg REST カタログを使用した Apache Iceberg クライアントへの統合を提供します。サポートされている統合の完全な一覧については、「 Unity Catalog の統合」を参照してください。
Unity Catalog は、マネージドテーブル、マテリアライズドビュー、ストリーミングテーブル向けの 互換性モード もサポートしており、これにより REST APIs をサポートしないクライアントからの読み取り専用アクセスが可能になります。この場合、データのクローンコピーでデータに直接アクセスできます。
次の表は、Unity Catalog オブジェクトのサポート形式とアクセス パターンの概要を示しています。
Unity Catalog オブジェクト | サポートされている形式 | アクセスパターン |
|---|---|---|
マネージドテーブル | Delta Lake、 Iceberg | Unity REST API、Iceberg REST カタログ、OpenSharing、互換モード(読み取り専用) |
マテリアライズドビュー と ストリーミングテーブル | Delta Lake、 Iceberg | Delta 4.0 または Iceberg v3 をサポートするクライアントには、パイプラインへの外部アクセスを使用してください。古いクライアント向けの互換性モード 読み取り専用。 Unity REST API、Iceberg RESTカタログ、ファイルアクセス (互換モード経由) |
外部テーブル | Delta Lake | Unity REST API、Iceberg RESTカタログ、OpenSharing、クラウドURI |
外部テーブル | CSV、 JSON、 Avro、 Parquet、 ORC、 テキスト | Unity REST API、クラウド URI |
外部ボリューム | すべてのデータタイプ | クラウド URI |
フォーリンテーブル | Delta Lake、 Iceberg | Unity REST API、Iceberg REST カタログ (プレビュー)、オープンシェアリング |
フォーリンテーブル | CSV、 JSON、 Avro、 Parquet、 ORC、 テキスト | Unity REST API、クラウド URI |
※カタログフェデレーションを使用したフォーリンテーブルフェデレーションのみ対応しています。 フォーリンテーブル上の外部エンジンからの新しい読み取りを保証するために、顧客はLakeflow Jobを使用してメタデータを定期的に更新できます。
これらの Unity Catalog オブジェクトの詳細については、以下を参照してください。
Unity Catalog 資格情報の自動販売
Unity Catalog 資格情報の自動販売機を使用すると、ユーザーは、Databricks によって管理されるデータに対する特権を継承するように外部クライアントを構成できます。Iceberg と Delta の両方のクライアントは、資格情報の自動販売をサポートできます。「外部システム アクセスのための Unity Catalog 資格情報の販売」を参照してください。
Deltaクライアントを使用してテーブルにアクセスします。
Unity REST API使用して、サポートされているDeltaクライアントから、 Delta Lakeによって管理され、外部テーブルをサポートするUnity Catalog読み取り、書き込み、および作成を行います。 DeltaクライアントからDatabricksテーブルにアクセスする方法を参照してください。
プレビュー
DeltaクライアントからのUnity Catalogマネージドテーブルへの作成および書き込みは、パブリックプレビューです。
外部テーブルの場合、Unity Catalogは外部システムからクラウドオブジェクトストレージに対して直接実行される読み取りおよび書き込みを管理しないため、Databricksの外部でデータガバナンスポリシーが遵守されるように、クラウドアカウントに追加のポリシーと認証情報を設定する必要があります。
データ破損やデータ損失の問題を回避するために、Databricks では、S3 に格納されている同じ Delta テーブルを異なるワークスペースまたはクライアントから変更しないことをお勧めします。
複数のクライアントからの書き込みが必要な場合は、クラウドオブジェクトストレージにCloudflare R2を使用できます。Cloudflare R2の外部ロケーションへの接続を参照してください。
Databricksドキュメントには、Databricks Runtimeバージョンとプラットフォーム機能に基づく制限事項と互換性に関する考慮事項がリストされています。クライアントがサポートするリーダーとライターのプロトコルとテーブル機能を確認する必要があります。 delta.io を参照してください。
Icebergクライアントを使用してテーブルにアクセスする
Databricks Icebergクライアントに対し、 Unity Catalogに登録されたテーブルに対する読み取り、書き込み、および作成のサポートを提供します。 サポートされているクライアントには、Apache Spark、Apache Flink、Trino、およびSnowflakeが含まれます。