建立和管理檢視
本文說明如何在 Unity 目錄中建立檢視。 請參閱 什麼是檢視?。
所需的權限
若要建立檢視:
- 您必須擁有
USE CATALOG
父目錄的許可權,以及USE SCHEMA
父架構的 和CREATE TABLE
許可權。 中繼存放區管理員或目錄擁有者可以授與您所有這些許可權。 架構擁有者可以授與您USE SCHEMA
和CREATE TABLE
架構的許可權。 - 您必須能夠讀取檢視中所參考的數據表和檢視表(
SELECT
在數據表或檢視表上,以及USE CATALOG
目錄和USE SCHEMA
架構上)。 - 如果檢視參考工作區區域 Hive 中繼存放區中的數據表,則只能從包含 workspace-local 數據表的工作區存取檢視。 基於這個理由,Databricks 建議只從 Unity 目錄中繼存放區中的數據表或檢視建立檢視。
- 您無法建立參考使用 Delta Sharing 與您共用之檢視的檢視。 請參閱 什麼是差異共用?。
若要讀取檢視,所需的許可權取決於計算類型、Databricks Runtime 版本和存取模式:
針對 Databricks Runtime 15.4 和更新版本上的單一使用者計算資源、共用計算資源和 SQL 倉儲,您需要
SELECT
檢視本身、USE CATALOG
父目錄及其USE SCHEMA
父架構。注意
如果您在 Databricks Runtime 15.4 LTS 和更新版本上使用單一使用者計算資源,您也必須確認 您的工作區已啟用無伺服器計算,這會執行支持檢視存取的數據篩選功能,而不需要存取檢視的基礎表和檢視。 因此,當您使用單一使用者計算來查詢檢視時,可能會向您收取無伺服器計算資源的費用。 請參閱 單一用戶計算的細微訪問控制。 使用 Databricks Runtime 15.4 和無伺服器計算的數據篩選處於公開預覽狀態。
針對 Databricks Runtime 15.3 和以下的單一使用者計算資源,除了在父目錄和父架構上,檢視參考的所有數據表和
USE SCHEMA
檢視USE CATALOG
也必須具有SELECT
。
建立檢視表
若要建立檢視,請執行下列 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來擷取檢視完整名稱清單。
卸除檢視
您必須是檢視的擁有者,才能卸除檢視。 若要卸除檢視,請執行下列 SQL 命令:
DROP VIEW IF EXISTS catalog_name.schema_name.view_name;