

# Athena 콘솔에서 CTAS 쿼리 생성
<a name="ctas-console"></a>

Athena 콘솔을 사용하면 다른 쿼리에서 CTAS 쿼리를 생성할 수 있습니다.<a name="ctas-create-from-query"></a>

**다른 쿼리에서 CTAS 쿼리를 생성하려면**

1. Athena 콘솔 쿼리 편집기에서 쿼리를 실행합니다.

1. 쿼리 편집기 하단에서 **생성(Create)** 옵션을 선택한 다음 **쿼리에서 테이블(Table from query)**을 선택합니다.

1. **Create table as select** 양식에서 다음과 같이 필드를 작성합니다.

   1. **Table name**(테이블 이름)에는 새 테이블의 이름을 입력합니다. 소문자와 밑줄만 사용합니다(예: `my_select_query_parquet`).

   1. **Database configuration**(데이터베이스 구성)에는 기존 데이터베이스를 선택하거나 데이터베이스를 생성하는 옵션을 사용합니다.

   1. (선택 사항) **Result configuration**(결과 구성)의 **Location of CTAS query results**(CTAS 쿼리 결과 위치)에서는 작업 그룹 쿼리 결과 위치 설정에 따라 이 옵션이 재정의되지 않으면 다음 중 하나를 수행합니다.
      + 검색 상자에 기존 S3 위치의 경로를 입력하거나 **Browse S3**(S3 찾아보기)를 선택하여 목록에서 위치를 선택합니다.
      + **View**(보기)를 선택하여 기존 버킷에 대한 자세한 내용을 보고 버킷을 선택하거나 자체 설정으로 생성할 수 있는 Amazon S3 콘솔의 **Buckets**(버킷) 페이지를 엽니다.

      데이터가 출력될 Amazon S3의 빈 위치를 지정해야 합니다. 지정한 위치에 데이터가 이미 있는 경우 쿼리가 오류와 함께 실패합니다.

      작업 그룹 쿼리 결과 위치 설정에 따라 이 위치 설정이 재정의되는 경우 Athena에서는 위치 `s3://amzn-s3-demo-bucket/tables/query_id/`에 테이블을 생성합니다.

   1. **Data format**(데이터 형식)에는 데이터의 형식을 지정합니다.
      + **Table type**(테이블 유형) – Athena의 기본 테이블 유형은 Apache Hive입니다.
      + **File format**(파일 형식) - CSV, TSV, JSON, Parquet 또는 ORC와 같은 옵션 중에서 선택합니다. Parquet 및 ORC 형식에 대한 자세한 내용은 [열 기반 스토리지 형식 사용](columnar-storage.md) 섹션을 참조하세요.
      + **Write compression**(쓰기 압축) – (선택 사항) 압축 형식을 선택합니다. Athena는 여러 압축 형식을 사용하는 테이블에서 데이터를 읽는 것을 비롯하여, 데이터 읽기 및 쓰기를 위한 다양한 압축 형식을 지원합니다. 예를 들어 Athena는 일부 Parquet 파일이 Snappy로 압축되고 다른 Parquet 파일이 GZIP으로 압축된 경우 Parquet 파일 형식을 사용하는 테이블의 데이터를 성공적으로 읽을 수 있습니다. ORC, 텍스트 파일, JSON 스토리지 형식에도 동일한 원칙이 적용됩니다. 자세한 내용은 [Athena에서 압축 사용](compression-formats.md) 섹션을 참조하세요.
      + **Partitions**(파티션) – (선택 사항) 파티셔닝하려는 열을 선택합니다. 데이터를 파티셔닝하면 각 쿼리에서 스캔하는 데이터의 양이 제한되어 성능이 향상되고 비용이 절감됩니다. 어떤 키를 기준으로도 데이터를 분할할 수 있습니다. 자세한 내용은 [데이터 파티셔닝](partitions.md) 섹션을 참조하세요.
      + **Buckets**(버킷) – (선택 사항) 버킷팅하려는 열을 선택합니다. 버킷팅은 단일 파티션 내에서 특정 열을 기준으로 데이터를 그룹화하는 기법입니다. 이러한 열을 버킷 키라고 합니다. 관련 데이터를 단일 버킷(파티션 내 파일)으로 그룹화하면 Athena에서 스캔하는 데이터의 양이 대폭 감소하여 쿼리 성능이 향상되고 비용이 절감됩니다. 자세한 내용은 [분할 및 버킷팅 사용](ctas-partitioning-and-bucketing.md) 섹션을 참조하세요.

   1. **Preview table query**(미리 보기 테이블 쿼리)의 경우 쿼리를 검토합니다. 쿼리 구문은 [CREATE TABLE AS](create-table-as.md) 단원을 참조하세요.

   1. **테이블 생성**을 선택합니다.

Athena 콘솔에는 CTAS 쿼리를 생성하는 데에도 사용할 수 있는 SQL 템플릿이 있습니다.<a name="ctas-create-new"></a>

**템플릿을 사용하여 CTAS 쿼리를 생성하는 방법**

`CREATE TABLE AS SELECT` 템플릿을 사용하여 쿼리 편집기에서 CTAS 쿼리를 생성합니다.

1. Athena 콘솔에서 **테이블 및 뷰(Tables and views)** 옆에 있는 **테이블 생성(Create table)**을 선택한 다음 **CREATE TABLE AS SELECT**를 선택합니다. 그러면 쿼리 편집기가 자리 표시자 값이 있는 CTAS 쿼리로 채워집니다.

1. 쿼리 편집기에서 필요에 따라 쿼리를 편집합니다. 쿼리 구문은 [CREATE TABLE AS](create-table-as.md) 단원을 참조하세요.

1. **Run(실행)**을 선택합니다.

예시는 [CTAS 쿼리 예제](ctas-examples.md) 섹션을 참조하세요.

