스키마 업데이트 - Amazon Athena

스키마 업데이트

이 주제에서는 데이터를 실제로 변경하지 않고도 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 쿼리에 주는 영향을 알아봅니다.