ビューの作成と管理
この記事では、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;