Delta クライアントから Databricks テーブルを読み取る

Iceberg REST カタログを使用して、Apache Spark や DuckDB などのサポートされている Iceberg クライアントから Databricks 上の Unity Catalog に登録されたテーブルを読み取ります。

Unity REST API を使用して読み取る

Unity REST API は、Unity Catalog に登録されている Delta テーブルへの読み取りアクセスを外部クライアントに提供します。 一部のクライアントは、テーブルの作成と既存のテーブルへの書き込みもサポートしています。

警告

データ破損やデータ損失の問題を回避するために、Databricks では、S3 に格納されている同じ Delta テーブルを異なるライター クライアントから変更しないことをお勧めします。

エンドポイント /api/2.1/unity-catalogを使用してアクセスを設定します。

要件

Databricks は、Unity Catalog の一部としてテーブルへの Unity REST API アクセスをサポートしています。 これらのエンドポイントを使用するには、ワークスペースで Unity Catalog を有効にする必要があります。 次のテーブルタイプは、Unity REST API の読み取りの対象となります。

  • Unity Catalog マネージドテーブル.

  • Delta Lake に格納された Unity Catalog 外部テーブル。

Unity REST API を使用して Delta クライアントから Databricks テーブルを読み取るためのアクセスを設定するには、次の構成手順を完了する必要があります。

Apache Spark を使用した Delta テーブルの読み取り

次に示すのは、Unity Catalog のマネージド テーブルと外部の Delta テーブルを読み取るように Apache Spark を構成するための設定の例です。

"spark.sql.extensions": "io.delta.sql.DeltaSparkSessionExtension",
"spark.sql.catalog.spark_catalog": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>.uri": "<workspace-url>/api/2.1/unity-catalog",
"spark.sql.catalog.<uc-catalog-name>.token":"<token>",
"spark.sql.defaultCatalog":"<uc-catalog-name>"

次の変数を代入します。

  • <uc-catalog-name>: テーブルを含む Unity Catalog のカタログの名前。

  • <workspace-url>: Databricks ワークスペースの URL。

  • <token>: 統合を構成するプリンシパルの PAT トークン。

重要

特定の設定は、カタログをバックアップするクラウドオブジェクトストレージのタイプによって異なります。 追加の構成については、 OSS Unity Catalog のドキュメント を参照してください。