Important
Iceberg RESTカタログを通じた外部ビューへのアクセスは ベータ版です。 Unity REST APIを通じたビューへのアクセスは一般提供されています。
外部エンジンは以下のAPIを使ってUnity Catalogビューをクエリできます:
- Delta Lakeテーブルのビュー用のUnity REST APIです。
- Iceberg互換テーブル上のビュー向けのIceberg REST カタログ。
外部エンジンはビューのSQLを実行し、基盤となるテーブルを読み込みます。 リーダーはビューおよび参照されるすべてのビューやテーブルにアクセスできなければなりません。
Requirements
- メタストアの 外部データアクセス を有効にしてください。 「Unity Catalog への外部データ アクセスを有効にする」を参照してください。
- 親カタログやスキーマに対して
USE CATALOGとUSE SCHEMAを付与し、ビューおよび参照先の各ビューまたはテーブルにSELECTを付与し、それらのテーブルを含むスキーマにEXTERNAL USE SCHEMAを付与します。 - Azure DatabricksのパーソナルアクセストークンまたはOAuthトークンで認証してください。
- 外部エンジンと互換性のあるビューSQLを使いましょう。
Apache Sparkからビューをクエリする
Spark のサンプルの最小バージョン:
- Apache Spark 4.0
- Delta ビューの場合: Unity Catalog Spark connector 0.6.0 および Delta Lake 4.3.0。
- Iceberg ビュー: Apache Iceberg 1.10.0。
ビューで参照されるカタログ名を含め、Unityカタログ名をSparkカタログ名として使用してください。
Deltaテーブル上のビュー
Spark は、上記の Spark、Unity Catalog コネクタ、Delta Lake のバージョンを使用して、Delta クライアントから Databricks テーブルにアクセスするを参照して構成します。
ビューをクエリするには、 <catalog>、 <schema>、 <view> をカタログ、スキーマ、ビュー名に置き換え、Sparkで以下のSQLを実行します。
SELECT * FROM <catalog>.<schema>.<view>;
Icebergテーブルのビュー
Apache Iceberg クライアントから Azure Databricks テーブルにアクセスするを使用して Spark を設定し、上記の Spark と Iceberg のバージョンを使用します。
ビューをクエリするには、 <catalog>、 <schema>、 <view> をカタログ、スキーマ、ビュー名に置き換え、Sparkで以下のSQLを実行します。
SELECT * FROM <catalog>.<schema>.<view>;
制限事項
- 外部計算からのビューの作成や変更はサポートされていません。
- 外部エンジンはSpark SQL方言でビュー定義をサポートしなければなりません。 ビューを参照するクエリは外部エンジンのSQL方言を使用します。
Iceberg RESTカタログへのアクセスについては:
- 細かいアクセス制御ポリシー、カスタム解決パス、ユーザー定義関数を持つビューはサポートされません。
- 履歴ビューのバージョンはサポートされていません。
- SparkはreaderのSQL設定を利用します。 結果やエラーはDatabricks Runtimeと異なる場合があります。