本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CREATE VIEW 以及 CREATE DIALECT VIEW
檢視是邏輯資料表,可供未來查詢參考。檢視不會包含任何資料,而且不會寫入資料。相反地,檢視指定的查詢會在每次您透過另一個查詢參考該檢視時執行。
-
CREATE VIEW
從指定的SELECT
查詢建立 Athena 檢視。Athena 檢視可在 Athena 內運作。如需 Athena 檢視的詳細資訊,請參閱 使用檢視。 -
CREATE PROTECTED MULTI DIALECT VIEW
會在 AWS Glue Data Catalog. AWS Glue Data Catalog views 中建立 AWS Glue Data Catalog 檢視,提供 Amazon Athena 和 Amazon Redshift 等單一 AWS 服務 通用檢視。如需 AWS Glue Data Catalog 檢視的詳細資訊,請參閱 在 Athena 中使用 Data Catalog 檢視。
CREATE VIEW
建立要在 Athena 中使用的檢視。
概要
CREATE [ OR REPLACE ] VIEW view_name AS query
選用的 OR REPLACE
子句可讓您透過取代來更新現有的檢視。如需詳細資訊,請參閱建立檢視。
範例
若要從資料表 orders
建立檢視 test
,請使用類似以下的查詢:
CREATE VIEW test AS SELECT orderkey, orderstatus, totalprice / 2 AS half FROM orders;
若要從資料表 orders
建立檢視 orders_by_date
,請使用以下的查詢:
CREATE VIEW orders_by_date AS SELECT orderdate, sum(totalprice) AS price FROM orders GROUP BY orderdate;
若要更新現有的檢視,請使用類似以下的範例:
CREATE OR REPLACE VIEW test AS SELECT orderkey, orderstatus, totalprice / 4 AS quarter FROM orders;
如需使用 Athena 檢視的詳細資訊,請參閱 使用檢視。
CREATE PROTECTED MULTI DIALECT VIEW
在 中建立 AWS Glue Data Catalog 檢視 AWS Glue Data Catalog。Data Catalog 檢視是單一檢視結構描述,可在 Athena 和其他SQL引擎中使用,例如 Amazon Redshift 和 Amazon EMR。
語法
CREATE [ OR REPLACE ] PROTECTED MULTI DIALECT VIEW
view_name
SECURITY DEFINER [ SHOW VIEW JSON ] ASquery
- 或 REPLACE
-
(選用) 透過取代現有檢視來更新現有檢視。如果檢視中存在來自其他引擎的方SQL言,則無法取代 Data Catalog 檢視。如果呼叫引擎在檢視中存在唯一的SQL方言,則可以取代檢視。
- PROTECTED
-
必要的關鍵字。指定檢視受到保護,以防止資料洩漏。Data Catalog 檢視只能做為
PROTECTED
檢視來建立。 - MULTI DIALECT
-
指定檢視支援不同查詢引擎的方SQL言,因此這些引擎可以讀取。
- SECURITY DEFINER
-
指定對此檢視有效的定義程式語意。定義程式語意意味著基礎資料表上的有效讀取許可屬於定義檢視的主體或角色,而不是執行實際讀取的主體。
- SHOW VIEW JSON
-
(選用) 傳回 Data Catalog 檢視規格JSON的 ,而不需要實際建立檢視。當您想要驗證檢視SQL的 並傳回 AWS Glue 將使用的資料表中繼資料時,此「乾執行」選項很有用。
範例
下列範例會根據 orders
資料表上的查詢,來建立 orders_by_date
Data Catalog 檢視。
CREATE PROTECTED MULTI DIALECT VIEW orders_by_date SECURITY DEFINER AS SELECT orderdate, sum(totalprice) AS price FROM orders WHERE order_city = 'SEATTLE' GROUP BY orderdate
如需使用 AWS Glue Data Catalog 檢視的詳細資訊,請參閱 在 Athena 中使用 Data Catalog 檢視。