Athena에서 "HIVE_CANNOT_OPEN_SPLIT: Error opening Hive split s3://awsdoc-example-bucket/: Slow Down (Service: Amazon S3; Status Code: 503; Error Code: 503 Slow Down;" 오류를 해결하려면 어떻게 해야 하나요?
최종 업데이트 날짜: 2020년 7월 14일
Amazon Athena 쿼리가 실패하고 다음과 같은 오류가 발생합니다.
"HIVE_CANNOT_OPEN_SPLIT: Error opening Hive split s3://awsdoc-example-bucket/date=2020-05-29/ingest_date=2020-04-25/part-00000.snappy.parquet (offset=0, length=18614): Slow Down (Service: Amazon S3; Status Code: 503; Error Code: 503 Slow Down;"
간략한 설명
이 오류는 보통 객체 수가 많은 Amazon Simple Storage Service(Amazon S3) 버킷 접두사를 쿼리할 때 발생합니다. S3 버킷에서 접두사마다 초당 3,500개의 PUT/COPY/POST/DELETE 및 5,500개의 GET/HEAD 요청을 전송할 수 있습니다. 버킷에 보유할 수 있는 접두사 수에는 제한이 없습니다.
해결 방법
다음 중 한 가지 방법으로 요청 조절을 예방할 수 있습니다.
- 여러 개의 접두사에 걸쳐 객체와 요청을 분산합니다. 자세한 내용은 데이터 파티셔닝을 참조하세요.
- Amazon S3 요청 수를 줄이려면 파일 수를 줄입니다. 예를 들어, 크기가 작은(128MB 미만) 대량의 파일을 S3DistCp 도구를 사용해 병합하면 파일 크기가 크지만, 숫자는 줄어듭니다. 자세한 내용은 Amazon Athena 성능 튜닝을 위한 10대 유용한 팁을 참조하고 4. 파일 크기 최적화 섹션을 검토하세요.
참고: S3DistCp는 Parquet 파일 연결을 지원하지 않습니다. 대신 PySpark를 사용하세요. 자세한 내용은 Amazon EMR에서 Paquet 파일을 연결하려면 어떻게 해야 하나요?를 참조하세요. - Athena 쿼리가 실패하면 Amazon CloudWatch 5xxErrors 지표 및 Amazon S3 서버 액세스 로그를 사용해 다른 애플리케이션이나 AWS 서비스가 같은 접두사를 사용 중인지 확인합니다. 조절을 방지하려면 Athena 데이터 원본과 애플리케이션 데이터 원본에 서로 다른 Amazon S3 접두사를 사용해야 합니다.