次の方法で共有


ビューとは

ビューは、Unity カタログ内の 1 つ以上のテーブルとビューに対するクエリの結果です。 ビューは、メタストア内の 1 つ以上のテーブルとビューで構成される読み取り専用オブジェクトです。 複数のスキーマとカタログ内のテーブルや他のビューから a を作成できます。

この記事では、Azure Databricks で作成できるビューについて説明します。

Unity カタログのビュー

Unity カタログでは、ビューは 3 レベル名前空間 (catalog.schema.view) の 3 番目のレベルに配置されます。

ビューに重点を置いた Unity カタログ オブジェクト モデル図

ビューには、通常、メタストア内の 1 つ以上のデータ ソースまたはテーブルに対するクエリのテキストが格納されます。 Azure Databricks では、ビューは、スキーマ内のオブジェクトとして永続化された Spark DataFrame と同等です。 DataFrames とは異なり、Azure Databricks 内の任意の場所からビューに対してクエリを実行できます。これを行うアクセス許可があると仮定します。 ビューを作成しても、データの処理や書き込みは行われません。 クエリ テキストのみが、関連付けられているスキーマのメタストアに登録されます。

Note

ビューが Delta テーブル以外のデータ ソースによってバックアップされている場合、ビューの実行セマンティクスが異なる場合があります。 Databricks では、常にテーブル名またはビュー名を使用してデータ ソースを参照することで、ビューを定義することをお勧めします。 パスまたは URI を指定してデータセットに対してビューを定義すると、データ ガバナンス要件が混乱する可能性があります。

具体化されたビュー

具体化されたビューは、定義クエリによって返された結果を段階的に計算および更新します。

Databricks SQL を使用して Unity カタログに具体化されたビューを登録したり、Delta Live Tables パイプラインの一部として定義したりできます。 「 Databricks SQL で具体化されたビューを使用するデルタ ライブ テーブルとはを参照してください。

一時ビュー

一時ビューのスコープと永続化は制限されており、スキーマまたはカタログには登録されません。 一時ビューの有効期間は、お使いの環境によって異なります。

  • ノートブックとジョブでは、一時ビューのスコープはノートブックまたはスクリプト レベルになります。 これらは、宣言されているノートブックの外部では参照できず、ノートブックがクラスターからデタッチされるときには存在しなくなります。
  • Databricks SQL では、一時ビューのスコープはクエリ レベルになります。 同じクエリ内の複数のステートメントで一時ビューを使用できますが、同じダッシュボード内であっても、他のクエリで参照することはできません。

動的ビュー

動的ビューを使用すると、行レベルと列レベルでアクセスを制御でき、さらにデータ マスキングを提供できます。 「動的ビューを作成する」を参照してください。

Hive メタストアのビュー (レガシ)

任意のデータ ソースに対してレガシ Hive ビューを定義し、それらをレガシ Hive メタストアに登録できます。 Databricks では、すべてのレガシ Hive ビューを Unity カタログに移行することをお勧めします。 Hive メタストアの ビューを参照してください。

Hive グローバル一時ビュー (レガシ)

グローバル一時ビューは、コンピューティング リソースに対して実行されているすべてのワークロードで使用できる一時ビューを登録できる従来の Azure Databricks 機能です。 グローバル一時ビューは、Hive と HDFS の従来のホールドオーバーです。 Databricks では、グローバル一時ビューを使用することをお勧めします。