View a markdown version of this page

查詢 AWS Glue Data Catalog 具體化視觀表 - Amazon Athena

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

查詢 AWS Glue Data Catalog 具體化視觀表

Athena 可讓您查詢 AWS Glue Data Catalog 具體化視觀表。Glue Data Catalog 具體化檢視會將 SQL 查詢的預先計算結果儲存為 Apache Iceberg 資料表。

當您在 Amazon EMR 中使用 Apache Spark 建立 Glue Data Catalog 具體化視觀表時 AWS Glue,視觀表定義和中繼資料會存放在 AWS Glue Data Catalog 中。預先計算的結果會儲存為 Amazon S3 中的 Apache Iceberg 資料表。您可以使用標準 SQL SELECT陳述式從 Athena 查詢這些具體化視觀表,就像查詢一般 Iceberg 資料表一樣。

先決條件

在 Athena 中查詢具體化視觀表之前,請確定下列事項:

  • 具體化視觀表存在於 AWS Glue 資料目錄中,並使用 Apache Spark (Amazon EMR 7.12.0 版或更新版本,或 5.1 AWS Glue 版或更新版本) 建立

  • 若要在 Athena 中查詢具體化視觀表,您需要下列 AWS Lake Formation 許可:

    • SELECT 具體化檢視的 許可

    • DESCRIBE 具體化檢視的 許可

    • 存取存放具體化檢視資料的基礎 Amazon S3 位置

  • 具體化視觀表的基礎資料存放在 Amazon S3 Table 儲存貯體或 Amazon S3 一般用途儲存貯體中

  • 您可以存取包含具體化檢視的 AWS Glue Data Catalog 資料庫

  • 對於存放在 Amazon S3 Tables 儲存貯體中的具體化視觀表,請確保您的 IAM 角色具有存取 S3 Tables 目錄的必要許可。

考量和限制

  • Athena 不支援具體化視觀表的下列操作:ALTERCREATE MATERIALIZED VIEWREFRESH MATERIALIZED VIEWDROPINSERT、、UPDATEMERGEDELETEOPTIMIZE、、VACUUM、。若要建立具體化視觀表,請在 Amazon EMR 或 中使用 Apache Spark AWS Glue。重新整理操作必須透過 AWS Glue Data Catalog API 或 Apache Spark 執行。使用 Apache Spark 修改具體化視觀表。

查詢具體化視觀表

Athena 將具體化視觀表視為讀取操作的標準 Iceberg 資料表,可讓您存取預先運算的資料,而不需要特殊語法或組態變更。

若要在 Athena 中查詢具體化視觀表,請使用標準SELECT陳述式:

SELECT * FROM my_database.sales_summary_mv;

您可以套用篩選條件、彙總和聯結,就像使用一般資料表一樣:

SELECT region, SUM(total_sales) as sales_total FROM my_database.sales_summary_mv WHERE year = 2025 GROUP BY region ORDER BY sales_total DESC;

受支援的操作

Athena 支援具體化視觀表的下列操作:

  • SELECT 查詢 - 使用標準 SQL SELECT陳述式從具體化視觀表讀取資料

  • DESCRIBE - 檢視具體化視觀表的結構描述和中繼資料

  • SHOW TABLES - 列出具體化視觀表以及資料庫中的其他資料表

  • JOIN 操作 - 將具體化視觀表與其他資料表或視觀表聯結

  • 篩選和彙總 - 套用WHERE子句GROUP BY、 和彙總函數