ビューへの外部アクセス
備考
ベータ版
Iceberg REST カタログを介したビューへの外部アクセスは、 ベータ版です。Unity REST APIを介したビューへのアクセスは一般的に利用可能です。
外部エンジンは、次の APIs を使用して Unity Catalog ビューをクエリーできます。
- Unity REST API Delta Lake テーブル上のビュー用。
- Iceberg 互換テーブル上のビューへの Iceberg REST カタログ。
外部エンジンはビューのSQLをランし、基になるテーブルを読み取ります。リーダーは、ビューおよび参照されるすべてのビューまたはテーブルにアクセスできる必要があります。
要件
- メタストアの 外部データ アクセス を有効にします。「Unity Catalog への外部データ アクセスを有効にする」を参照してください。
- 親カタログとスキーマに
USE CATALOGとUSE SCHEMAを付与し、ビューと参照されるすべてのビューまたはテーブルにSELECTを付与し、それらのテーブルを含むスキーマにEXTERNAL USE SCHEMAを付与します。 - Databricks個人アクセストークンまたはOAuthトークンで認証します。
- 外部エンジンと互換性のあるビューSQLを使用します。
Apache Spark からのビューのクエリー
Sparkの例の最小バージョン:
- Apache Spark 4.0.
- Deltaビューの場合:Unity Catalog Sparkコネクタ 0.6.0 および Delta Lake 4.3.0。
- Iceberg ビューの場合: Apache Iceberg 1.10.0。
ビューによって参照されるカタログを含め、Unity Catalog カタログ名を Spark カタログ名として使用します。
Deltaテーブル上のビュー
上記のSpark、Unity Catalogコネクタ、Delta Lakeバージョンを使用して、DeltaクライアントからDatabricksテーブルにアクセスするようにSparkを構成します。
ビューをクエリーするには、<catalog>、<schema>、および<view>をカタログ、スキーマ、およびビュー名に置き換え、Sparkで次のSQLを実行します。
SQL
SELECT * FROM <catalog>.<schema>.<view>;
Iceberg テーブル上のビュー
Spark と Iceberg のバージョンを上記のように指定して、Apache Iceberg クライアントから Databricks テーブルにアクセスするを使用して Spark を構成します。
ビューをクエリーするには、<catalog>、<schema>、および<view>をカタログ、スキーマ、およびビュー名に置き換え、Sparkで次のSQLを実行します。
SQL
SELECT * FROM <catalog>.<schema>.<view>;
制限事項
- 外部コンピュートからビューを作成および変更することはサポートされていません。
- 外部エンジンは、Spark SQL 言語のビュー定義をサポートしている必要があります。ビューを参照するクエリーは、外部エンジンのSQL言語を使用します。
Iceberg RESTカタログアクセスの場合:
- きめ細かなアクセス制御ポリシー、カスタム解像度パス、またはユーザー定義関数を持つビューはサポートされていません。
- 履歴ビューバージョンはサポートされていません。
- Spark はリーダーの SQL 設定を使用します。結果またはエラーは、Databricks Runtime と異なる場合があります。