ビューの作成と管理

この記事では、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は何ですか?」を参照してください。

ビューを読み取るために必要なアクセス許可は、コンピュートの種類、 Databricks Runtimeバージョン、およびアクセス モードによって異なります。

  • すべてのコンピュート リソースについて、ビュー自体に SELECT 、親カタログに USE CATALOG 、親スキーマに USE SCHEMA が必要です。

  • シングル・ユーザー・アクセス・モードを使用してビューにアクセスするには、ビューが参照するすべてのテーブルとビューに対する SELECT に加えて、親カタログに対する USE CATALOG と親スキーマに対する USE SCHEMA も必要です。

ビューを作成する

ビューを作成するには、次の 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;