

# CTAS 및 INSERT INTO를 사용하여 Amazon Ion 테이블 생성
<a name="ion-serde-using-ctas-and-insert-into-to-create-ion-tables"></a>

`CREATE TABLE AS SELECT`(CTAS) 및 `INSERT INTO` 문을 사용하여 Athena에서 테이블의 데이터를 Amazon Ion 형식으로 복사하거나 삽입할 수 있습니다.

CTAS 쿼리에서 다음 예제와 같이 `WITH` 절에서 `format='ION'`을 지정합니다.

```
CREATE TABLE new_table
WITH (format='ION')
AS SELECT * from existing_table
```

기본적으로 Athena는 Amazon Ion 결과를 [Ion 이진 형식](https://amzn.github.io/ion-docs/docs/binary.html)으로 직렬화하지만 텍스트 형식을 사용할 수도 있습니다. 텍스트 형식을 사용하려면 다음 예제와 같이 CTAS `WITH` 절에서 `ion_encoding = 'TEXT'`를 지정합니다.

```
CREATE TABLE new_table
WITH (format='ION', ion_encoding = 'TEXT')
AS SELECT * from existing_table
```

CTAS `WITH` 절에서 Amazon Ion 관련 속성에 대한 자세한 내용은 [CTAS WITH 절의 Amazon Ion 속성](#ion-serde-ctas-with-clause-properties) 섹션을 참조하세요.

## CTAS WITH 절의 Amazon Ion 속성
<a name="ion-serde-ctas-with-clause-properties"></a>

CTAS 쿼리에서 `WITH` 절을 사용하여 Amazon Ion 형식을 지정하고 사용할 Amazon Ion 인코딩 및/또는 쓰기 압축 알고리즘을 선택적으로 지정할 수 있습니다.

**형식**  
`ION` 키워드를 CTAS 쿼리의 `WITH` 절에서 형식 옵션으로 지정할 수 있습니다. 이렇게 하는 경우 생성하는 테이블은 읽기에 `IonInputFormat`에 지정한 형식을 사용하고 `IonOutputFormat`에 지정한 형식으로 데이터를 직렬화합니다.  
다음 예제에서는 CTAS 쿼리가 Amazon Ion 형식을 사용하도록 지정합니다.  

```
WITH (format='ION')
```

**ion\$1encoding**  
선택 사항  
기본값: `BINARY`  
값: `BINARY`, `TEXT`   
데이터를 Amazon Ion 이진 형식으로 직렬화할지 아니면 Amazon Ion 텍스트 형식으로 직렬화할지 지정합니다. 다음 예제는 Amazon Ion 텍스트 형식을 지정합니다.  

```
WITH (format='ION', ion_encoding='TEXT')
```

**write\$1compression**  
선택 사항  
기본값: `GZIP`  
값: `GZIP`, `ZSTD`, `BZIP2`, `SNAPPY`, `NONE`   
출력 파일을 압축하는 데 사용할 압축 알고리즘을 지정합니다.  
다음 예제에서는 CTAS 쿼리가 [Zstandard](https://facebook.github.io/zstd/) 압축 알고리즘을 사용하여 Amazon Ion 형식으로 출력을 쓰도록 지정합니다.  

```
WITH (format='ION', write_compression = 'ZSTD')       
```
Athena의 데이터 압축에 대한 자세한 내용은 [Athena에서 압축 사용](compression-formats.md)을 참조하세요.

Athena의 다른 CTAS 속성에 대한 자세한 내용은 [CTAS 테이블 속성](create-table-as.md#ctas-table-properties)을 참조하세요.