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 속성 참조을 참조하세요.