Amazon Athena에서 CTAS 쿼리를 실행할 때 “HIVE_PATH_ALREADY_EXISTS” 예외를 해결하려면 어떻게 해야 합니까?

1분 분량
0

Amazon Athena에서 SELECT(CTAS) 쿼리를 실행하면 “HIVE_PATH_ALREADY_EXISTS: Target directory for table”라는 예외가 발생합니다.

해결 방법

CTAS 쿼리에서 external_location 파라미터를 사용하는 경우 비어 있는 Amazon Simple Storage Service(Amazon S3) 위치를 지정해야 합니다. CTAS 쿼리 결과를 저장하는 데 사용하는 Amazon S3 위치에는 데이터가 없어야 합니다. CTAS 쿼리를 실행하면 쿼리는 Amazon S3 버킷의 경로 위치 또는 접두사에 데이터가 없는지 확인합니다. Amazon S3 위치에 이미 데이터가 있는 경우 쿼리가 데이터를 덮어쓰지 않습니다.

CTAS 쿼리에 데이터가 있는 Amazon S3 위치를 사용하려면 버킷의 키 접두사 위치에 있는 데이터를 삭제합니다. 그렇지 않으면 “HIVE_PATH_ALREADY_EXISTS” 예외와 함께 CTAS 쿼리가 실패합니다.

기존 Athena 테이블이 CTAS 쿼리에 사용할 Amazon S3 위치를 가리키는 경우 다음을 수행합니다.

  1. Athena 테이블을 삭제합니다.
  2. S3 버킷의 키 접두사 위치에 있는 데이터를 삭제합니다.

관련 정보

CTAS 테이블 속성

CTAS 쿼리에 대한 고려 사항 및 제한 사항

AWS 공식
AWS 공식업데이트됨 3년 전