지원되는 SerDes 및 데이터 형식 - Amazon Athena

지원되는 SerDes 및 데이터 형식

Athena는 CSV, TSV, 사용자 지정 구분 기호 및 JSON 형식, Hadoop 관련 형식의 데이터(ORC, Apache Avro, Parquet), Logstash의 로그, AWS CloudTrail 로그, Apache WebServer 로그에서 데이터를 쿼리하고 테이블을 만들도록 지원합니다.

참고

본 단원에 나열된 형식은 Athena에서 데이터를 읽는 데 사용합니다. CTAS 쿼리를 실행할 때 Athena에서 데이터를 쓰는 데 사용하는 형식에 대한 자세한 정보는 쿼리 결과에서 테이블 생성(CTAS) 단원을 참조하세요.

Athena에서 이러한 형식의 데이터를 쿼리하고 테이블을 만들려면 Athena가 사용되는 형식과 데이터 구문 분석 방법을 알 수 있도록 serializer-deserializer 클래스(SerDe)를 지정합니다.

이 테이블은 Athena 및 해당 SerDe 라이브러리에 지원되는 데이터 형식을 나열합니다.

SerDe는 Athena가 사용하는 데이터 카탈로그에 데이터 취급 방법을 알려주는 사용자 지정 라이브러리입니다. Athena에서 CREATE TABLE 문의 ROW FORMAT 파트에 명시적으로 SerDe 유형을 나열하여 지정합니다. Athena는 기본적으로 특정 유형의 데이터 형식에 일부 SerDe 유형을 사용하기 때문에, 경우에 따라 SerDe 이름을 생략할 수 있습니다.

지원되는 데이터 형식 및 SerDes
데이터 형식 설명 Athena에서 지원되는 SerDe 유형
Amazon Ion Amazon Ion은 JSON의 상위 집합인 서식 있는 자기 기술형 데이터 형식이며, Amazon에서 개발한 오픈 소스입니다. Amazon Ion Hive SerDe을(를) 사용합니다.

Apache Avro

레코드 값에 대해 JSON 기반 스키마를 사용하는 Hadoop에서 데이터를 저장하는 형식입니다.

Avro SerDe를 사용합니다.

Apache Parquet

Hadoop에서 데이터의 컬럼 방식 스토리지를 위한 형식입니다.

Parquet SerDe 및 SNAPPY 압축을 사용합니다.

Apache WebServer 로그

Apache WebServer에서 로그를 저장하는 형식입니다.

Grok SerDe 또는 Regex SerDe를 사용합니다.

CloudTrail 로그

CloudTrail에서 로그를 저장하는 형식입니다.

  • CloudTrail SerDe를 사용하여 CloudTrail 로그의 대다수 필드를 쿼리합니다.

  • 서비스에 따라 형식이 결정되는 몇몇 필드에 대해서는 OpenX JSON SerDe를 사용합니다. 자세한 정보는 CloudTrail SerDe을 참조하십시오.

CSV(쉼표로 분리된 값)

CSV 형식의 데이터에서 각 행은 데이터 레코드를 나타내며 각 레코드는 쉼표로 구분된 하나 이상의 필드로 구성됩니다.

사용자 지정 구분 기호로 구분

이 형식의 데이터에서 각 행은 데이터 레코드를 나타내며 레코드는 사용자 지정 단일 문자 구분 기호로 구분됩니다.

CSV, TSV, 사용자 지정 구분 기호로 구분된 파일에 대한 LazySimpleSerDe를 사용하고 사용자 지정 단일 문자 구분 기호를 지정합니다.

[JSON](JavaScript Object Notation)

JSON 데이터에서 각 행은 데이터 레코드를 나타내며 각 레코드는 쉼표로 구분된 속성-값 쌍과 배열로 구성됩니다.

Logstash 로그

Logstash에서 로그를 저장하는 형식입니다.

Grok SerDe를 사용합니다.

ORC(Optimized Row Columnar)

Hive 데이터의 최적화된 컬럼 방식 스토리지를 위한 형식입니다.

ORC SerDe 및 ZLIB 압축을 사용합니다.

TSV(탭으로 구분된 값)

TSV 형식의 데이터에서 각 행은 데이터 레코드를 나타내며 각 레코드는 탭으로 구분된 하나 이상의 필드로 구성됩니다.

CSV, TSV, 사용자 지정 구분 기호로 구분된 파일에 대한 LazySimpleSerDe를 사용하고 구분자 문자를 FIELDS TERMINATED BY '\t'로 지정합니다.