根據管線中 SQL 查詢的結果集,建構沒有實體資料的虛擬資料表。
語法
以下說明使用 SQL 宣告檢視的語法:
CREATE VIEW view_name
[ COMMENT view_comment ]
[ TBLPROPERTIES ]
AS query
參數
view_name
視圖的名稱。 名稱在管道所針對的目錄和結構描述中必須是唯一的。
view_comment
檢視的可選描述。
TBLPROPERTIES
可選的資料表屬性清單。
查詢
從基表或其他視圖建構檢視的查詢。
所需權限
管道的執行使用者必須具有下列許可權,才能建立視圖:
- SELECT 檢視所參照的基本表格的權限。
- 父目錄的USE CATALOG許可權及父架構的USE SCHEMA許可權。
- CREATE TABLE 視圖的結構描述許可權。
若要讓使用者能夠更新管線內的檢視,他們必須具有下列權限:
- 父目錄的USE CATALOG許可權及父架構的USE SCHEMA許可權。
- 管理檢視的權限。
- SELECT 檢視所參照之基底表格的權限。
若要讓使用者能夠查詢產生的檢視,他們必須具有下列許可權:
- 父目錄的USE CATALOG許可權及父架構的USE SCHEMA許可權。
- SELECT 檢視權限。
局限性
-
CREATE VIEW僅適用於支援預設發佈模式的管線。 不支援使用舊式 LIVE 架構的管線。 如需詳細資訊,請參閱 LIVE 結構描述 (舊版)。 - 管線必須是 Unity Catalog 的管線。
- 不支持以
CONSTRAINT條款形式提出的期望。 - 檢視不能有串流查詢,或作為串流來源使用。
範例
-- Create a view from an external data source
CREATE VIEW taxi_raw AS SELECT *
FROM read_files("/databricks-datasets/nyctaxi/sample/json/");
-- Use a view to create a filtered view:
CREATE VIEW taxi_silver AS SELECT *
FROM taxi_raw
WHERE distance > 0.0;