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