Amazon Ion 테이블 생성 - Amazon Athena

Amazon Ion 테이블 생성

Athena에서 Amazon Ion 형식으로 저장된 데이터로부터 테이블을 생성하려면 CREATE TABLE 문에서 다음 기법 중 하나를 사용할 수 있습니다.

  • STORED AS ION를 지정합니다. 이 사용법에서 명시적으로 Amazon Ion Hive SerDe를 지정할 필요는 없습니다. 이 선택 사항은 더 간단한 옵션입니다.

  • ROW FORMAT SERDE, INPUTFORMAT, OUTPUTFORMAT 필드에서 Amazon Ion 클래스 경로를 지정합니다.

또한 CREATE TABLE AS SELECT(CTAS) 문을 사용하여 Athena에서 Amazon Ion 테이블을 생성할 수도 있습니다. 자세한 내용은 CTAS 및 INSERT INTO를 사용하여 Amazon Ion 테이블 생성을 참조하세요.

STORED AS ION 지정

다음 CREATE TABLE 문 예제는 LOCATION 절 이전에 STORED AS ION을 사용하여 Amazon Ion 형식의 비행 데이터를 기반으로 테이블을 생성합니다. LOCATION 절은 Ion 형식의 입력 파일이 있는 버킷 또는 폴더를 지정합니다. 지정된 위치의 모든 파일이 스캔됩니다.

CREATE EXTERNAL TABLE flights_ion ( yr INT, quarter INT, month INT, dayofmonth INT, dayofweek INT, flightdate STRING, uniquecarrier STRING, airlineid INT, ) STORED AS ION LOCATION 's3://amzn-s3-demo-bucket/'

Amazon Ion 클래스 경로 지정

STORED AS ION 구문을 사용하는 대신 다음과 같이 ROW FORMAT SERDE, INPUTFORMAT, OUTPUTFORMAT 절에 대한 Ion 클래스 경로 값을 명시적으로 지정할 수 있습니다.

파라미터 Ion 클래스 경로
ROW FORMAT SERDE 'com.amazon.ionhiveserde.IonHiveSerDe'
STORED AS INPUTFORMAT 'com.amazon.ionhiveserde.formats.IonInputFormat'
OUTPUTFORMAT 'com.amazon.ionhiveserde.formats.IonOutputFormat'

다음 DDL 쿼리는 이 기법을 사용하여 이전 예제와 동일한 외부 테이블을 만듭니다.

CREATE EXTERNAL TABLE flights_ion ( yr INT, quarter INT, month INT, dayofmonth INT, dayofweek INT, flightdate STRING, uniquecarrier STRING, airlineid INT, ) ROW FORMAT SERDE 'com.amazon.ionhiveserde.IonHiveSerDe' STORED AS INPUTFORMAT 'com.amazon.ionhiveserde.formats.IonInputFormat' OUTPUTFORMAT 'com.amazon.ionhiveserde.formats.IonOutputFormat' LOCATION 's3://amzn-s3-demo-bucket/'

Athena의 CREATE TABLE 문에 대한 SerDe 속성에 관한 자세한 내용은 Amazon Ion SerDe 속성 참조을 참조하세요.