使用檢視 - Amazon Athena

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用檢視

Amazon Athena 中的檢視是邏輯資料表,而非實體資料表。每次在查詢中參考檢視時,定義該檢視的查詢就會執行。您可以從 SELECT 查詢建立檢視,然後在未來的查詢中參考此檢視。

您可以在 Athena 中使用兩種不同類型的檢視:Athena 檢視和 AWS Glue Data Catalog 檢視。

何時使用 Athena 檢視?

您可能想要建立 Athena 檢視以:

  • 查詢資料子集 – 例如,您可以建立檢視,其中包含原始資料表中的資料子集,以簡化查詢資料。

  • 合併資料表 – 您可以使用檢視將多個資料表合併為一個查詢。當您有多個資料表,且想要使用 UNION ALL 合併它們時,您可以使用該表達式建立檢視,以簡化查詢已合併的資料表。

  • 隱藏複雜性 – 使用檢視隱藏現有基礎查詢的複雜性,並簡化使用者執行的查詢。基本查詢通常包括資料表之間的聯結、資料欄清單中的表達式,以及其他使他們難以理解和偵錯的SQL語法。您可以建立檢視以隱藏複雜性並簡化查詢。

  • 最佳化查詢 – 您可以使用檢視來嘗試最佳化技術,以建立最佳化查詢。例如,如果您發現有一組 WHERE 條件、JOIN 順序或其他表達式可展現最佳效能,您可以使用這些子句和表達式來建立檢視。然後,應用程式可以對此檢視執行相當簡單的查詢。如果您後來發現有更好的方式可最佳化原始查詢,當您重新建立檢視時,所有應用程式就可立即利用最佳化基礎查詢。

  • 隱藏基礎名稱 – 您可以使用檢視來隱藏基礎資料表和資料欄名稱,並在名稱變更時將維護問題降至最低。如果名稱變更,您只要使用新名稱重新建立檢視即可。使用檢視而非資料表的查詢會直接執行,不會有任何變更。

    如需詳細資訊,請參閱使用 Athena 檢視

何時使用 AWS Glue Data Catalog 檢視?

當您想要 Amazon Athena 和 Amazon Redshift AWS 服務 等單一通用視 AWS Glue Data Catalog 觀表時使用視觀表。在 Data Catalog 檢視中,存取許可由建立檢視的使用者定義,而不是由查詢檢視的使用者定義。授予許可的這種方法被稱為定義程式語義。

下列使用案例顯示如何使用 Data Catalog 檢視。

  • 更大的存取權 – 您建立的檢視會根據使用者需要的許可層級,來限制資料存取權。例如,您可使用 Data Catalog 檢視,來阻止不在人力資源 (HR) 部門工作的員工查看可識別的個人身分資訊。

  • 確保完整記錄 – 透過將某些篩選條件套用至 Data Catalog 檢視,您可確保 Data Catalog 檢視中的資料記錄一律是完整的。

  • 增強的安全性 – 在 Data Catalog 檢視中,建立檢視的查詢定義必須完整,才能建立檢視。這使得 Data Catalog 檢視較不容易受到惡意執行者的SQL命令影響。

  • 防止存取基礎資料表 – 定義程式語意可讓使用者存取檢視,而無需讓基礎資料表可供其使用。只有定義檢視的使用者才需要存取該資料表。

Data Catalog 檢視定義存放在 AWS Glue Data Catalog中。這意味著您可使用 AWS Lake Formation ,以透過資源授權、資料欄授權或以標籤為基礎的存取控制來授予存取權。如需有關在 Lake Formation 中授予和撤銷存取權的詳細資訊,請參閱《AWS Lake Formation 開發人員指南》中的授與和撤銷存取 Data Catalog 資源的許可

如需詳細資訊,請參閱在 Athena 中使用 Data Catalog 檢視