建立和管理檢視
本文說明如何在 Unity 目錄中建立檢視。 請參閱 什麼是檢視?。
所需的權限
若要建立檢視:
- 您必須擁有
USE CATALOG
父目錄的許可權,以及USE SCHEMA
父架構的 和CREATE TABLE
許可權。 中繼存放區管理員或目錄擁有者可以授與您所有這些許可權。 架構擁有者可以授與您USE SCHEMA
和CREATE TABLE
架構的許可權。 - 您必須能夠讀取檢視中所參考的數據表和檢視表(
SELECT
在數據表或檢視表上,以及USE CATALOG
目錄和USE SCHEMA
架構上)。 - 如果檢視參考工作區區域 Hive 中繼存放區中的數據表,則只能從包含 workspace-local 數據表的工作區存取檢視。 基於這個理由,Databricks 建議只從 Unity 目錄中繼存放區中的數據表或檢視建立檢視。
- 您無法建立參考使用 Delta Sharing 與您共用之檢視的檢視。 請參閱 使用 Delta Sharing 安全地共享數據和 AI 資產。
若要讀取檢視,所需的許可權取決於計算類型和存取模式:
- 針對共用叢集和 SQL 倉儲,您需要
SELECT
檢視本身、USE CATALOG
父目錄及其USE SCHEMA
父架構。 - 針對單一使用者叢集,除了在父目錄和父架構上,檢視所參考
USE CATALOG
的所有資料表和USE SCHEMA
檢視表上也必須有SELECT
。
若要建立或讀取動態檢視:
- 動態檢視的需求與上一節所列的需求相同,不同之處在於您必須使用共用叢集或 SQL 倉儲來建立或讀取動態檢視。 您無法使用單一使用者叢集。
建立檢視表
若要建立檢視,請執行下列 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;
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: