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 또는 AWS Glue에서 Apache Spark를 사용하여 Glue Data Catalog 구체화된 뷰를 생성하는 경우 뷰 정의 및 메타데이터는 AWS Glue Data Catalog에 저장됩니다. 사전 계산된 결과는 Amazon S3에서 Apache Iceberg 테이블로 저장됩니다. 일반 Iceberg 테이블을 쿼리하는 것처럼 표준 SQL SELECT 문을 사용하여 Athena에서 이러한 구체화된 뷰를 쿼리할 수 있습니다.

사전 조건

Athena에서 구체화된 뷰를 쿼리하기 전에 다음을 확인합니다.

  • 구체화된 뷰는 AWS Glue Data Catalog에 있으며 Apache Spark(Amazon EMR 릴리스 7.12.0 이상 또는 AWS Glue 버전 5.1 이상)를 사용하여 생성됨

  • Athena에서 구체화된 뷰를 쿼리하려면 다음과 같은 AWS Lake Formation 권한이 필요합니다.

    • 구체화된 뷰에서 SELECT 권한

    • 구체화된 뷰에서 DESCRIBE 권한

    • 구체화된 뷰 데이터가 저장되는 기본 Amazon S3 위치에 대한 액세스 권한

  • 구체화된 뷰의 기본 데이터는 Amazon S3 Table 버킷 또는 Amazon S3 범용 버킷에 저장됨

  • 구체화된 뷰를 포함하는 AWS Glue Data Catalog 데이터베이스에 대한 액세스 권한이 있음

  • Amazon S3 Tables 버킷에 저장된 구체화된 뷰의 경우 IAM 역할이 S3 Tables 카탈로그에 액세스하는 데 필요한 권한을 보유하는지 확인합니다.

고려 사항 및 제한 사항

  • Athena는 구체화된 뷰에 대해 ALTER, CREATE MATERIALIZED VIEW, REFRESH MATERIALIZED VIEW, DROP, INSERT, UPDATE, MERGE, DELETE, OPTIMIZE, VACUUM 등의 연산자를 지원하지 않습니다. 구체화된 뷰를 생성하려면 Amazon EMR 또는 AWS Glue에서 Apache Spark를 사용합니다. 새로 고침 작업은 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 및 집계 함수 적용