本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 DDL 陳述式建立 Data Catalog 檢視
您可以使用 Athena、Amazon Redshift 和 AWS Glue APIs/ 的 SQL 編輯器建立 AWS Glue Data Catalog 檢視AWS CLI。
若要使用 SQL 編輯器建立 Data Catalog 檢視,請選擇 Athena 或 Redshift Spectrum,然後使用CREATE VIEW資料定義語言 (DDL) 陳述式建立檢視。在第一個引擎的方言中建立檢視後,您可以使用第二個引擎的 ALTER VIEW DDL 陳述式來新增其他方言。
定義檢視時,請務必考量下列事項:
-
定義多方檢視 – 當您定義具有多個方言的檢視時,不同方言的結構描述必須相符。每個 SQL 方言都有略有不同的語法規格。定義 Data Catalog 檢視的查詢語法應該在所有方言中解析為完全相同的資料欄清單,包括類型和名稱。此資訊會存放在 檢視
StorageDescriptor的 中。方言也必須參考資料目錄中的相同基礎資料表物件。若要使用 DDL 將另一個方言新增至檢視,您可以使用
ALTER VIEW陳述式。如果ALTER VIEW陳述式嘗試更新檢視定義,例如修改檢視的儲存描述項或基礎資料表,則陳述式會錯誤地說出「輸入和現有儲存描述項不符」。您可以使用 SQL 轉換操作來確保檢視欄類型相符。 -
更新檢視 – 若要更新檢視,您可以使用
UpdateTableAPI。如果您在沒有相符儲存描述項或參考資料表的情況下更新檢視,您可以提供FORCE旗標 (如需語法,請參閱引擎 SQL 文件)。強制更新後,檢視將採用強制資料表StorageDescriptor和參考資料表。任何進一步的ALTER VIEWDDL 都應符合修改後的值。已更新為具有不相容方言的檢視將處於「過時」狀態。檢視狀態會顯示在 Lake Formation 主控台和使用GetTable操作。 -
參考 varchar 資料欄類型做為字串 – 無法將 Redshift Spectrum 的 varchar 資料欄類型轉換為字串。如果在 Redshift Spectrum 中使用 varchar 資料欄類型建立檢視,且後續方言嘗試將該欄位參考為字串,則 Data Catalog 會將它視為字串,而不需要
FORCE旗標。 -
複雜類型欄位的處理 – Amazon Redshift 會將所有複雜類型視為 SUPER 類型,而 Athena 會指定複雜類型。如果檢視具有
SUPER類型欄位,且另一個引擎參考該資料欄作為特定複雜類型,例如 struct (<street_address:struct<street_number:int, street_name:string, street_type:string>>),則 Data Catalog 會假設該欄位為特定複雜類型,並在儲存體描述項中使用該欄位,而不需要Force旗標。
如需建立和管理 Data Catalog 檢視之語法的詳細資訊,請參閱:
-
《Amazon Athena 使用者指南》中的使用 AWS Glue Data Catalog 檢視。
-
《Amazon Athena 使用者指南》中的 Glue Data Catalog 檢視查詢語法。
-
《Amazon Redshift 資料庫開發人員指南》中的在 中建立檢視 AWS Glue Data Catalog。
若要取得有關與 Data Catalog 中的視觀表相關之 SQL 命令的更多資訊,請參閱CREATE EXTERNAL VIEW、ALTER EXTERNAL VIEW 和 DROP EXTERNAL VIEW。
建立 Data Catalog 檢視後,您可以在 Lake Formation 主控台中取得檢視的詳細資訊。
-
在 Lake Formation 主控台中選擇資料目錄下的檢視。
-
可用檢視的清單會顯示在檢視頁面上。
-
從清單中選擇檢視,詳細資訊頁面會顯示檢視的屬性。
- 結構描述
-
選擇資料
Column列,然後選取編輯 LF 標籤以更新標籤值或指派新的 LF 標籤。 - SQL 定義
-
您可以查看可用的 SQL 定義清單。選取新增 SQL 定義,然後選擇查詢引擎以新增 SQL 定義。在資料
Edit definition欄下選擇查詢引擎 (Athena 或 Amazon Redshift) 以更新 SQL 定義。 - LF 標籤
-
選擇編輯 LF 標籤以編輯標籤的值或指派新標籤。您可以使用 LF 標籤來授予檢視的許可。
- 跨帳戶存取權
-
您可以查看已與您共用 Data Catalog 檢視的組織 AWS 帳戶和組織單位 (OUs) 清單。
- 基礎資料表
-
用於建立檢視的 SQL 定義中參考的基礎資料表會顯示在此索引標籤下。