この記事では、Unity Catalog でテーブルを作成する方法について説明します。 ビューの説明を参照してください。
必要なアクセス許可
ビューを作成するには:
- 親カタログに対する
USE CATALOGのアクセス許可と、親スキーマに対するUSE SCHEMAおよびCREATE TABLEのアクセス許可が必要です。 メタストア管理者またはカタログ所有者は、これらすべての権限を許可できます。MANAGE権限を持つスキーマ所有者またはユーザーは、スキーマに対するUSE SCHEMA権限とCREATE TABLE権限を付与できます。 - ビューで参照されるテーブルとビューの読み取りができる必要があります (テーブルまたはビューでの
SELECT、カタログでのUSE CATALOG、スキーマでのUSE SCHEMA)。 - ビューがワークスペース ローカルの Hive メタストア内のテーブルを参照している場合、そのビューにアクセスできるのは、ワークスペース ローカル テーブルが含まれるワークスペースからに限られます。 このため、Databricks では、Unity Catalog メタストア内にあるテーブルまたはビューからのみビューを作成することをお勧めします。
- Delta Sharing を使用して自分と共有されているビューを参照するビューを作成することはできません。 「Delta Sharing とは」を参照してください。
ビューを読み取るために必要なアクセス許可は、コンピューティングの種類、Databricks Runtime のバージョン、アクセス モードによって異なります。 ビューのクエリの要件を参照してください。
ビューの作成
ビューを作成するには、次の SQL コマンドを実行します。 角かっこ内の項目は省略可能です。 プレースホルダー値を次のように置き換えます。
-
<catalog-name>: カタログの名前。 -
<schema-name>: スキーマの名前。 -
<view-name>: ビューの名前。 -
<query>: ビューの作成に使用されるクエリ、列、テーブル、ビュー。
CREATE VIEW <catalog-name>.<schema-name>.<view-name> AS
SELECT <query>;
たとえば、sales_redacted テーブルの列から sales_raw という名前のビューを作成するには:
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 コマンドを実行します。
DROP VIEW IF EXISTS catalog_name.schema_name.view_name;