이 주제에서는 데이터를 실제로 변경하지 않고도 CREATE
TABLE
문을 통해 스키마에서 가능한 몇 가지 변경 사항을 설명합니다. 스키마를 업데이트하기 위해 ALTER TABLE
명령을 사용할 수도 있지만 기존 테이블을 실제로 수정하지 않는 경우도 있습니다. 대신 원래 CREATE TABLE
문에서 사용한 스키마를 수정하는 새 이름의 테이블을 생성합니다.
예상되는 스키마의 변화에 따라 Athena 쿼리를 계속 사용하려면 호환되는 데이터 형식을 선택합니다.
CSV와 Parquet이라는 두 가지 형식으로 존재하는 orders
테이블에서 주문 정보를 읽는 애플리케이션을 살펴보겠습니다.
다음 예제에서는 Parquet 형식으로 테이블을 만듭니다.
CREATE EXTERNAL TABLE orders_parquet (
`orderkey` int,
`orderstatus` string,
`totalprice` double,
`orderdate` string,
`orderpriority` string,
`clerk` string,
`shippriority` int
) STORED AS PARQUET
LOCATION 's3://amzn-s3-demo-bucket/orders_ parquet/';
다음 예제에서는 CSV 형식으로 동일한 테이블을 만듭니다.
CREATE EXTERNAL TABLE orders_csv (
`orderkey` int,
`orderstatus` string,
`totalprice` double,
`orderdate` string,
`orderpriority` string,
`clerk` string,
`shippriority` int
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION 's3://amzn-s3-demo-bucket/orders_csv/';
다음 주제에서는 이러한 테이블 업데이트가 Athena 쿼리에 주는 영향을 알아봅니다.