建立和管理檢視

本文說明如何在 Unity 目錄中建立檢視。 請參閱 什麼是檢視?

所需的權限

若要建立檢視:

  • 您必須擁有 USE CATALOG 父目錄的許可權,以及 USE SCHEMA 父架構的 和 CREATE TABLE 許可權。 中繼存放區管理員或目錄擁有者可以授與您所有這些許可權。 架構擁有者可以授與您 USE SCHEMACREATE 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_redactedsales_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;