내용으로 건너뛰기

Athena의 “Query Timeout” 오류를 해결하려면 어떻게 해야 합니까?

2분 분량
0

Amazon Athena에서 쿼리를 실행할 때 쿼리가 실패하고 "Query timeout" 오류가 발생합니다.

해결 방법

Athena 쿼리가 DML 쿼리 제한 시간 할당량을 초과하면 시간 초과 오류와 함께 실패합니다. 오류를 해결하려면 다음 해결 방법을 사용하십시오.

Athena의 쿼리 런타임 축소 또는 증대

Athena에서 Quick Sight SPICE로 데이터를 가져올 때 "query timeout" 오류를 해결하려면 어떻게 해야 합니까?의 지침을 따르십시오.

Athena 쿼리 시간 초과에 대한 알림 설정

시간 초과로 실패한 쿼리에 대한 알림을 받으려면 Amazon CloudWatch 이벤트 규칙을 사용하여 이벤트를 캡처합니다. 그런 다음 Amazon Simple Notification Service(Amazon SNS)를 사용하여 알림을 설정합니다.

Amazon S3 액세스 로그 쿼리

Amazon Simple Storage Service(Amazon S3) 액세스 로그에 대한 쿼리를 실행했는데 쿼리 제한 시간이 초과된 경우 AWS Glue ETL 작업을 사용하여 Amazon S3 데이터를 분할합니다. 이후 제한된 파티션에서 Athena 쿼리를 실행합니다. 지침을 확인하려면 분할된 Amazon S3 액세스 로그를 사용하여 Athena 쿼리 시간 초과를 방지하려면 어떻게 해야 합니까?를 참조하십시오.

CloudTrail 데이터 쿼리

Athena를 사용하여 AWS CloudTrail 데이터를 쿼리하는 경우 쿼리를 실행하는 데 시간이 오래 걸리거나 제한 시간이 초과될 수 있습니다. 이는 쿼리 런타임을 줄이기 위해 CloudTrail 테이블을 분할하더라도 시간이 지나면 CloudTrail 로그 크기가 커지기 때문입니다.

파티션 프로젝션을 사용하여 CloudTrail 테이블을 수동으로 생성합니다. 그러면 Athena에서 CloudTrail 테이블 값을 동적으로 계산하도록 하여 쿼리 런타임을 줄일 수 있습니다. 파티션 프로젝션은 구성에서 파티션 값과 위치를 계산하므로 수동으로 파티션을 관리할 필요가 없습니다.

CTAS 쿼리 사용

쿼리 성능을 향상시키려면 다른 쿼리의 SELECT 문 결과를 기반으로 Athena에 새 테이블을 생성하는 CREATE TABLE AS SELECT (CTAS) 쿼리를 사용하십시오. CTAS는 쿼리 결과에서 테이블을 한 번에 생성하여 원시 데이터 세트를 더 쉽게 사용할 수 있도록 합니다. 또한 CTAS 쿼리는 쿼리 성능을 향상시키고 쿼리 비용을 줄여줍니다. 예를 보려면 CTAS 쿼리의 예를 참조하십시오.

EXPLAIN 및 EXPLAIN ANALYZE 문 사용

복잡한 쿼리의 경우 Athena에서 EXPLAIN 및 EXPLAIN ANALYZE를 사용합니다. EXPLAIN 문은 SQL 문을 구체화하고 파티션 정리를 확인하여 쿼리를 최적화합니다. EXPLAINEXPLAIN ANALYZE 문의 고려 사항 및 제한 사항을 검토하는 것이 가장 좋습니다.

자세한 내용은 EXPLAIN 예제EXPLAIN ANALYZE 예제를 참조하십시오.

관련 정보

Amazon Athena를 위한 10가지 성능 튜닝 팁

Amazon Athena 쿼리 결과를 다른 쿼리에 사용하려면 어떻게 해야 합니까?