

# SerDe를 사용하여 테이블 생성
<a name="serde-create-a-table"></a>

Athena에서 테이블을 생성할 때 SerDe를 사용하려면 다음 방법 중 하나를 사용합니다.
+ 다음 예제와 같이 `ROW FORMAT DELIMITED`를 지정한 다음 DDL 문을 사용하여 필드 구분 기호를 지정합니다. `ROW FORMAT DELIMITED`를 지정할 때 Athena는 기본적으로 LazySimpleSerDe를 사용합니다.

  ```
  ROW FORMAT DELIMITED 
  FIELDS TERMINATED BY ','
  ESCAPED BY '\\'
  COLLECTION ITEMS TERMINATED BY '|'
  MAP KEYS TERMINATED BY ':'
  ```

  `ROW FORMAT DELIMITED`의 예는 다음 주제를 참조하세요.

  [CSV, TSV, 사용자 지정 구분 기호로 구분된 파일에 대한 Lazy Simple SerDe](lazy-simple-serde.md)

  [Amazon CloudFront 로그 쿼리](cloudfront-logs.md)

  [Amazon EMR 로그 쿼리](emr-logs.md)

  [Amazon VPC 흐름 로그 쿼리](vpc-flow-logs.md)

  [ETL 및 데이터 분석에 CTAS 및 INSERT INTO 사용](ctas-insert-into-etl.md)
+ `ROW FORMAT SERDE`를 사용해 Athena가 데이터를 테이블에 읽고 쓸 때 사용해야 하는 SerDe의 형식을 명시적으로 지정합니다. 다음 예제에서는 LazySimpleSerDe를 지정합니다. 구분 기호를 지정하려면 `WITH SERDEPROPERTIES`를 사용합니다. `WITH SERDEPROPERTIES`에서 지정한 속성은 `ROW FORMAT DELIMITED` 예제에서 별도의 문(예: `FIELDS TERMINATED BY`)에 해당합니다.

  ```
  ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
  WITH SERDEPROPERTIES (
  'serialization.format' = ',',
  'field.delim' = ',',
  'collection.delim' = '|',
  'mapkey.delim' = ':',
  'escape.delim' = '\\'
  )
  ```

  `ROW FORMAT SERDE`의 예는 다음 주제를 참조하세요.

  [Avro SerDe](avro-serde.md)

  [Grok SerDe](grok-serde.md)

  [JSON SerDe 라이브러리](json-serde.md)

  [CSV 처리를 위한 Open CSV SerDe](csv-serde.md)

  [Regex SerDe](regex-serde.md)