

# ETL 작업용 테이블 생성
<a name="schema-classifier"></a>

Athena를 사용하여 AWS Glue에서 ETL 작업에 사용할 수 있는 테이블을 생성할 수 있습니다. AWS Glue 작업은 ETL 작업을 수행합니다. AWS Glue 작업은 소스에서 데이터를 추출하고 데이터를 변환한 다음 대상으로 로드하는 스크립트를 실행합니다. 자세한 내용은 *AWS Glue 개발자 안내서*의 [AWS Glue에 작업 작성](https://docs.aws.amazon.com/glue/latest/dg/author-job-glue.html)을 참조하세요.

## AWS Glue ETL 작업을 위한 Athena 테이블 생성
<a name="schema-etl-tables"></a>

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/](https://console.aws.amazon.com/glue/)에서 AWS Glue 콘솔을 엽니다.

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

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

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

1. **추가**를 선택합니다.

1. **키**에 **classification**를 입력합니다.

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

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

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

자세한 내용은 *AWS Glue 개발자 안내서*에서 [테이블 관련 작업](https://docs.aws.amazon.com/glue/latest/dg/console-tables.html)을 참조하세요.

## ETL 작업을 사용하여 쿼리 성능 최적화
<a name="schema-etl-performance"></a>

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

AWS Glue는 Parquet 및 ORC 데이터 형식으로의 쓰기를 지원합니다. 이 기능을 사용하여 데이터를 Athena에서 사용할 수 있도록 변환할 수 있습니다. Parquet 및 ORC 사용과 Athena의 성능 개선을 위한 다른 방법에 대한 자세한 내용은 [Amazon Athena를 위한 유용한 성능 튜닝 팁 10가지](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/)를 참조하세요.

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

## ETL을 위한 AWS Glue 작업 자동화
<a name="schema-etl-automate"></a>

트리거를 기반으로 AWS Glue ETL 작업이 자동으로 실행되도록 구성할 수 있습니다. AWS 외부의 데이터가 Athena에서 쿼리하기에 최적화되지 않은 형식으로 Amazon S3 버킷에 푸시되는 동안에는 이 기능이 이상적입니다. 자세한 내용은 *AWS Glue 개발자 안내서*의 [AWS Glue 작업 트리거](https://docs.aws.amazon.com/glue/latest/dg/trigger-job.html)를 참조하세요.