ETL 작업용 테이블 생성 - Amazon Athena

ETL 작업용 테이블 생성

Athena를 사용하여 AWS Glue에서 ETL 작업에 사용할 수 있는 테이블을 생성할 수 있습니다. AWS Glue 작업은 ETL 작업을 수행합니다. AWS Glue 작업은 소스에서 데이터를 추출하고 데이터를 변환한 다음 대상으로 로드하는 스크립트를 실행합니다. 자세한 내용은 AWS Glue 개발자 안내서AWS Glue에 작업 작성을 참조하세요.

AWS Glue ETL 작업을 위한 Athena 테이블 생성

Athena에서 생성한 테이블에는 데이터 형식을 식별하는 classification이라는 테이블 속성이 추가되어야 합니다. 그러면 AWS Glue이(가) ETL 작업에 이 테이블을 사용할 수 있습니다. 분류 값은 avro, csv, json, orc, parquet 또는 xml일 수 있습니다. Athena에서의 CREATE TABLE 문 예제는 다음과 같습니다.

CREATE EXTERNAL TABLE sampleTable ( column1 INT, column2 INT ) STORED AS PARQUET TBLPROPERTIES ( 'classification'='parquet')

테이블을 만들 때 classification 테이블 속성을 추가하지 않았다면 AWS Glue 콘솔을 사용하여 추가할 수 있습니다.

AWS Glue 콘솔을 사용하여 분류 테이블 속성을 추가하려면
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/glue/에서 AWS Glue 콘솔을 엽니다.

  2. 콘솔 탐색 창에서 테이블(Tables)을 선택합니다.

  3. 편집할 테이블 링크를 선택한 다음 작업(Actions), 테이블 편집(Edit table)을 선택합니다.

  4. 아래로 스크롤하여 테이블 속성 섹션을 찾습니다.

  5. 추가를 선택합니다.

  6. classification를 입력합니다.

  7. 값(Value)에 데이터 유형(예:json)을 입력합니다.

  8. 저장(Save)을 선택합니다.

    입력한 데이터 유형이 테이블 세부 정보(Table details) 섹션에서 테이블의 분류(Classification) 필드에 표시됩니다.

자세한 내용은 AWS Glue 개발자 안내서에서 테이블 관련 작업을 참조하세요.

ETL 작업을 사용하여 쿼리 성능 최적화

AWS Glue 작업은 Athena에서 쿼리 성능을 최적화하는 형식으로 데이터를 변환하는 데 도움이 됩니다. 데이터 형식은 Athena의 쿼리 성능 및 쿼리 비용에 큰 영향을 줍니다.

AWS Glue는 Parquet 및 ORC 데이터 형식으로의 쓰기를 지원합니다. 이 기능을 사용하여 데이터를 Athena에서 사용할 수 있도록 변환할 수 있습니다. Parquet 및 ORC 사용과 Athena의 성능 개선을 위한 다른 방법에 대한 자세한 내용은 Amazon Athena를 위한 유용한 성능 튜닝 팁 10가지를 참조하세요.

참고

AWS Glue ETL 작업에서 생성한 SMALLINTTINYINT 데이터 유형을 Athena가 읽지 못하게 될 가능성을 줄이려면 데이터를 ORC로 변환하는 ETL 작업을 생성할 때 SMALLINTTINYINTINT로 변환합니다.

ETL을 위한 AWS Glue 작업 자동화

트리거를 기반으로 AWS Glue ETL 작업이 자동으로 실행되도록 구성할 수 있습니다. AWS 외부의 데이터가 Athena에서 쿼리하기에 최적화되지 않은 형식으로 Amazon S3 버킷에 푸시되는 동안에는 이 기능이 이상적입니다. 자세한 내용은 AWS Glue 개발자 안내서AWS Glue 작업 트리거를 참조하세요.