ビューの作成と管理
この記事では、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を使用して取得できます。