Amazon Athena에서 예상 열과 해당 데이터 유형으로 CREATE TABLE 설명문을 실행했지만, select * from <table-name> 쿼리를 실행할 때 빈 결과가 나타났습니다. 

다음은 쿼리가 빈 결과를 반환하는 몇 가지 일반적인 이유입니다.

크롤러 설정에서 선택한 파일​

크롤러를 사용하는 경우 크롤러가 파일 대신 Amazon S3(Amazon Simple Storage Service) 버킷을 가리켜야 합니다.

잘못된 LOCATION 경로

Amazon S3에 대한 입력 데이터 LOCATION 경로를 확인합니다. 입력 LOCATION 경로가 잘못된 경우, Athena는 빈 결과를 반환합니다.

파티션이 아직 로드되지 않음

테이블에 정의된 파티션이 있는 경우 파티션이 AWS Glue 데이터 카탈로그 또는 내부 Athena 데이터 카탈로그에 아직 로드되지 않았을 수 있습니다. Athena는 스키마-온-리드(schema-on-read)를 적용하므로 테이블이 생성된 경우에만 Athena가 메타데이터를 만듭니다. 쿼리가 실행될 때에만 데이터가 구문 분석됩니다. 데이터가 아직 지정된 위치에 없을 수 있으므로 Athena가 빈 결과를 반환합니다. 파티션이 CREATE TABLE 설명문에 정의된 경우 MSCK REPAIR TABLE 또는 ALTER TABLE ADD PARTITION 명령을 사용하여 파티션 정보를 카탈로그에 로드합니다.

MSCK REPAIR TABLE

Athena에서 지원되는 형식으로 파티션이 저장되는 경우 MSCK REPAIR TABLE을 실행합니다. 예를 들어, 연도별로 파티션이 지정된 테이블이 있는 경우 Athena는 다음과 비슷한 S3 경로에서 데이터를 찾을 수 있습니다.

  • s3://mybucket/athena/inputdata/year=2016/data.csv
  • s3://mybucket/athena/inputdata/year=2015/data.csv
  • s3://mybucket/athena/inputdata/year=2014/data.csv

Athena가 예상하는 S3 경로에 데이터가 있는 경우 다음과 비슷한 명령을 실행하여 테이블을 복구합니다. 

CREATE EXTERNAL TABLE Employee (
    Id INT,
    Name STRING,
    Address STRING
) PARTITIONED BY (year INT)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION 's3://mybucket/athena/inputdata/';

테이블이 생성되면 다음과 비슷한 명령을 사용하여 파티션 정보를 로드합니다. 

MSCK REPAIR TABLE Employee;

데이터가 로드되면 select * from<table-name> 명령으로 데이터가 반환되어야 합니다.

ALTER TABLE ADD PARTITION

Athena에서 지원되는 형식으로 파티션이 저장되지 않거나 다른 S3 경로에 있는 경우 각 파티션에 대해 ALTER TABLE ADD PARTITION 명령을 실행합니다. 예를 들어, 데이터가 다음 S3 경로에 있다고 가정합니다.

  • s3://mybucket/athena/inputdata/2016/data.csv
  • s3://mybucket/athena/inputdata/2015/data.csv
  • s3://mybucket/athena/inputdata/2014/data.csv

이러한 경로에서 다음과 비슷한 명령을 실행합니다. 

ALTER TABLE Employee ADD
    PARTITION (year=2016) LOCATION 's3://mybucket/athena/inputdata/2016/'
    PARTITION (year=2015) LOCATION 's3://mybucket/athena/inputdata/2015/'
    PARTITION (year=2014) LOCATION 's3://mybucket/athena/inputdata/2014/'

데이터가 로드되면 select * from<table-name> 명령을 실행하여 데이터가 반환되어야 합니다. 


페이지 내용이 도움이 되었습니까? | 아니요

AWS 지원 지식 센터로 돌아가기

도움이 필요하십니까? AWS 지원 센터를 방문하십시오.

게시 날짜: 2016-12-15

업데이트됨: 2018-09-17