Amazon S3의 테이블 위치 지정 - Amazon Athena

Amazon S3의 테이블 위치 지정

Athena에서 CREATE TABLE 쿼리를 실행하면 Athena는 메타데이터를 저장하는 AWS Glue 데이터 카탈로그에 테이블을 등록합니다.

Amazon S3의 데이터에 대한 경로를 지정하려면 다음 예제와 같이 CREATE TABLE 문에 LOCATION 속성을 사용합니다.

CREATE EXTERNAL TABLE `test_table`( ... ) ROW FORMAT ... STORED AS INPUTFORMAT ... OUTPUTFORMAT ... LOCATION s3://amzn-s3-demo-bucket/folder/
  • 버킷 이름 지정에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서버킷 규제 및 제한을 참조하세요.

  • Amazon S3에서의 폴더 사용에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서폴더 사용을 참조하세요.

Amazon S3의 LOCATION은 테이블을 나타내는 모든 파일을 지정합니다.

중요

Athena는 지정한 Amazon S3 폴더에 저장된 모든 데이터를 읽습니다. Athena가 읽지 않도록 할 데이터가 있는 경우 Athena가 읽어야 할 데이터가 있는 Amazon S3 폴더와 동일한 폴더에 해당 데이터를 저장하지 않아야 합니다.

LOCATION 문에서 CREATE TABLE을 지정하는 경우 다음 지침을 따르세요.

  • 후행 슬래시를 사용하세요.

  • Amazon S3 폴더 또는 Amazon S3 액세스 포인트 별칭에 대한 경로를 사용할 수 있습니다. Amazon S3 액세스 포인트 별칭에 대한 자세한 내용은 Amazon S3 사용 설명서액세스 포인트에 버킷 스타일 별칭 사용을 참조하세요.

다음 사용:

s3://amzn-s3-demo-bucket/folder/
s3://amzn-s3-demo-bucket-metadata-s3alias/folder/

데이터에 대해 LOCATION을 지정하는 데 다음 항목을 사용하지 마세요.

  • 파일 위치를 지정할 때 파일 이름, 밑줄, 와일드카드 또는 glob 패턴을 사용하지 마세요.

  • Amazon S3 버킷 경로에 s3.amazon.com 등의 전체 HTTP 표기법을 추가하지 마세요.

  • //와 같이 경로에서 S3://amzn-s3-demo-bucket/folder//folder/ 같은 빈 폴더를 사용하지 마세요.

  • 아래와 같은 경로를 사용하지 마세요.

    s3://amzn-s3-demo-bucket s3://amzn-s3-demo-bucket/* s3://amzn-s3-demo-bucket/mySpecialFile.dat s3://amzn-s3-demo-bucket/prefix/filename.csv s3://amzn-s3-demo-bucket.s3.amazon.com S3://amzn-s3-demo-bucket/prefix//prefix/ arn:aws:s3:::amzn-s3-demo-bucket/prefix s3://arn:aws:s3:<region>:<account_id>:accesspoint/<accesspointname> https://<accesspointname>-<number>.s3-accesspoint.<region>.amazonaws.com