ビューの作成と管理

この記事では、Unity Catalog でビューを作成する方法を説明します。 「ビューとは」を参照してください。

必要な権限

ビューを作成するには、次のようにします。

  • 親カタログに対する USE CATALOG 権限と、親スキーマに対する USE SCHEMA 権限と CREATE TABLE 権限が必要です。 メタストア管理者またはカタログ所有者は、これらすべての特権を付与できます。 スキーマ所有者は、スキーマに対する USE SCHEMA および CREATE TABLE 権限をユーザーに付与できます。

  • ビューで参照される表とビュー (表またはビューのSELECT 、カタログの USE CATALOG 、スキーマの USE SCHEMA ) を読み取ることができる必要があります。

  • ビューがワークスペースローカルHive metastore内のテーブルを参照する場合、そのビューにはワークスペースローカル テーブルを含むワークスペースからのみアクセスできます。 このため、Databricks では、Unity Catalog メタストアにあるテーブルまたはビューからのみビューを作成することをお勧めします。

  • Delta Sharingを使用して共有されているビューを参照するビューを作成することはできません。 Delta Sharing を使用してデータと AI アセットを安全に共有するを参照してください。

ビューを読み取るために必要な権限は、コンピュート タイプとアクセス モードによって異なります。

  • 共有 クラスター およびSQLウェアハウスの場合、ビュー自体に SELECT、その親カタログに USE CATALOG、その親スキーマに USE SCHEMA が必要です。

  • シングルユーザー クラスターの場合、親カタログのUSE CATALOGと親スキーマのUSE SCHEMAに加えて、ビューが参照するすべてのテーブルとビューにもSELECTが必要です。

動的ビューを作成または読み取るには、次のようにします。

  • 動的ビューの要件は、前のセクションで説明したものと同じですが、動的ビューを作成または読み取るには共有クラスターまたはSQL Server を使用する必要があります。 シングルユーザー クラスターは使用できません。

ビューを作成する

ビューを作成するには、次の SQL コマンドを実行します。 括弧内の項目はオプションです。 プレースホルダーの値を置き換えます。

  • <catalog-name>:カタログの名前。

  • <schema-name>:スキーマの名前。

  • <view-name>: ビューの名前。

  • <query>: ビューの構成に使用されるクエリ、列、テーブル、およびビュー。

CREATE VIEW <catalog-name>.<schema-name>.<view-name> AS
SELECT <query>;

たとえば、sales_raw表の列からsales_redactedという名前のビューを作成するには、次のようにします。

CREATE VIEW sales_metastore.sales.sales_redacted AS
SELECT
  user_id,
  email,
  country,
  product,
  total
FROM sales_metastore.sales.sales_raw;

Databricks Terraform プロバイダーdatabricks_tableを使用してビューを作成することもできます。 ビューのフルネームのリストは、 databricks_viewsを使用して取得できます。

ビューをドロップする

ビューを削除するには、ビューの所有者である必要があります。 ビューを削除するには、次の SQL コマンドを実行します。

DROP VIEW IF EXISTS catalog_name.schema_name.view_name;