外部からのビューアクセス

Important

Iceberg RESTカタログを通じた外部ビューへのアクセスは ベータ版です。 Unity REST APIを通じたビューへのアクセスは一般提供されています。

外部エンジンは以下のAPIを使ってUnity Catalogビューをクエリできます:

外部エンジンはビューの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と異なる場合があります。