테이블의 시작 또는 중간에 열 추가 - Amazon Athena

테이블의 시작 또는 중간에 열 추가

열 추가는 가장 자주 발생하는 스키마 변경 중 하나입니다. 예를 들어 새 열을 추가하여 테이블을 새 데이터로 보강할 수 있습니다. 또는 기존 열의 소스가 변경된 경우 새 열을 추가하고, 이 열의 이전 버전을 유지하여 이러한 열을 사용하는 애플리케이션을 조정할 수 있습니다.

테이블의 시작 또는 중간에 열을 추가하고 기존 테이블에 대한 쿼리를 계속해서 실행하려면 Parquet 및 ORC(이름으로 읽도록 SerDe 속성을 설정한 경우), AVRO, JSON 형식을 사용합니다. 자세한 내용은 Apache ORC 및 Apache Parquet의 인덱스 액세스에 대한 이해을 참조하세요.

CSV 및 TSV 형식의 테이블 시작 또는 중간에 열을 추가하지 마세요. 이러한 형식에서는 순서가 중요합니다. 그런 경우 열을 추가하면 파티션의 스키마가 변경될 경우 스키마 불일치 오류가 발생합니다.

다음 예제에서는 JSON 데이터를 기반으로 테이블 중간에 o_comment 열을 추가하는 새 테이블을 생성합니다.

CREATE EXTERNAL TABLE orders_json_column_addition ( `o_orderkey` int, `o_custkey` int, `o_orderstatus` string, `o_comment` string, `o_totalprice` double, `o_orderdate` string, `o_orderpriority` string, `o_clerk` string, `o_shippriority` int, ) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' LOCATION 's3://amzn-s3-demo-bucket/orders_json/';