AWS Glue 파티션 인덱싱 및 필터링을 통한 쿼리 최적화 - Amazon Athena

AWS Glue 파티션 인덱싱 및 필터링을 통한 쿼리 최적화

Athena는 분할된 테이블을 쿼리할 때 사용 가능한 테이블 파티션을 검색하고 쿼리와 관련된 하위 집합으로 필터링합니다. 새 데이터와 파티션이 추가되면 파티션을 처리하는 데 더 많은 시간이 필요하며 쿼리 런타임이 늘어날 수 있습니다. 시간이 지남에 따라 확장되는 파티션이 많은 테이블이 있는 경우 AWS Glue 파티션 인덱싱 및 필터링을 고려하세요. 파티션 처리를 최적화하고 고도로 분할된 테이블에서 쿼리 성능을 향상시키기 위해 Athena는 파티션 인덱싱을 사용합니다. 테이블의 속성에서 파티션 필터링을 설정하는 과정은 두 단계로 이루어집니다.

  1. AWS Glue에서 파티션 인덱스 생성

  2. 테이블에 대해 파티션 필터링 사용 설정

파티션 인덱스 생성

AWS Glue에서 파티션 인덱스를 생성하는 단계는 AWS Glue 개발자 안내서의 파티션 인덱스 작업을 참조하세요. AWS Glue의 파티션 인덱스에 대한 제한 사항은 해당 페이지의 파티션 인덱스 정보 섹션을 참조하세요.

파티션 필터링 사용 설정

테이블에 대해 파티션 필터링을 사용 설정하려면 AWS Glue에서 새 테이블 속성을 설정해야 합니다. AWS Glue에서 테이블 속성을 설정하는 방법에 대한 단계는 파티션 프로젝션 설정 페이지를 참조하세요. AWS Glue에서 테이블 세부 정보를 편집할 때 테이블 속성(Table properties) 섹션에 다음 키-값 페어를 추가합니다.

  • 키(Key)에서 partition_filtering.enabled를 추가합니다.

  • 값(Value)true를 추가합니다.

partition_filtering.enabled 값을 false로 설정하여 언제든지 이 테이블에서 파티션 프로젝션을 비활성화할 수 있습니다.

위의 단계를 완료한 후 Athena 콘솔로 돌아가서 데이터를 쿼리할 수 있습니다.

파티션 인덱싱 및 필터링 사용에 대한 자세한 내용은 AWS 빅 데이터 블로그Improve Amazon Athena query performance using AWS Glue Data Catalog partition indexes를 참조하세요.