在資料表開頭或中間新增欄 - Amazon Athena

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在資料表開頭或中間新增欄

新增欄是最常見的其中一個結構描述變更。例如,您可以新增欄以新資料來富集資料表。或者,如果現有欄的來源已變更,您可以新增欄,並保留此欄的前一版,以調整依賴這些欄的應用程式。

若要在表格的開頭或中間新增欄,並繼續針對現有資料表執行查詢,請使用AVROJSON、和 Parquet,以及其 SerDe屬性是ORC否設定為依名稱讀取。如需相關資訊,請參閱 了解阿帕奇ORC和阿帕奇鑲木地板索引訪問

請勿在CSV和表格的開頭或中間新增欄TSV,因為這些格式取決於排序。如果在這種情況下新增欄,當分割區的結構描述變更時,將會導致結構描述不符錯誤。

下列範例會建立新資料表,根據資o_comment料在資料表的中間加入JSON資料行。

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/';