メインコンテンツまでスキップ

ビューの作成と管理

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

必要な権限

ビューを作成するには:

  • 親カタログに対する USE CATALOG 権限と、親スキーマに対する USE SCHEMA 権限と CREATE TABLE 権限が必要です。 メタストア管理者またはカタログ所有者は、これらの特権をすべて付与できます。 スキーマの所有者または MANAGE 権限を持つユーザーは、スキーマに対する USE SCHEMA 権限と CREATE TABLE 権限を付与できます。
  • ビューで参照されるテーブルとビュー (テーブルまたはビューのSELECT 、カタログの USE CATALOG 、スキーマの USE SCHEMA を読み取ることができる必要があります)。
  • ビューがワークスペースローカル Hive metastore内のテーブルを参照している場合、ビューには、ワークスペースローカルテーブルを含むワークスペースからのみアクセスできます。 このため、Databricks では、Unity Catalog メタストア内のテーブルまたはビューからのみビューを作成することをお勧めします。
  • Delta Sharing を使用して共有されているビューを参照するビューは作成できません。 「Delta Sharing とは」を参照してください。

ビューを読み取るために必要な権限は、コンピュートの種類、 Databricks Runtime バージョン、およびアクセス モードによって異なります。 ビューのクエリの要件を参照してください。

ビューの作成

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

  • <catalog-name>:カタログの名前。
  • <schema-name>:スキーマの名前。
  • <view-name>: ビューの名前。
  • <query>: ビューの構成に使用されるクエリ、列、テーブル、およびビュー。
SQL
CREATE VIEW <catalog-name>.<schema-name>.<view-name> AS
SELECT <query>;

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

SQL
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を使用して取得できます。

ビューをドロップする

ビューを削除するには、ビューの所有者であるか、ビューに対する MANAGE 権限を持っている必要があります。 ビューを削除するには、次の SQL コマンドを実行します。

SQL
DROP VIEW IF EXISTS catalog_name.schema_name.view_name;