建立和管理視圖
本文說明如何在 Unity 目錄中建立檢視。 請參閱 什麼是檢視?。
所需的權限
若要建立檢視:
- 您必須具有父目錄的
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 運行時間版本和存取模式。 請參閱 查詢檢視的需求。
建立檢視表
若要建立檢視,請執行下列 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;