Ajouter des colonnes au début ou au milieu de la table - Amazon Athena

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Ajouter des colonnes au début ou au milieu de la table

L'ajout de colonnes est l'une des modifications de schéma les plus fréquentes. Par exemple, vous pouvez ajouter une nouvelle colonne pour enrichir la table avec de nouvelles données. Ou bien, vous pouvez ajouter une nouvelle colonne si la source d'une colonne existante a changé, et conserver la version précédente de cette colonne, pour ajuster les applications qui en dépendent.

Pour ajouter des colonnes au début ou au milieu du tableau et continuer à exécuter des requêtes sur des tables existantes, utilisez AVROJSON, et Parquet et ORC si leur SerDe propriété est définie pour lire par nom. Pour plus d’informations, veuillez consulter Comprendre l'accès aux index pour Apache ORC et Apache Parquet.

N'ajoutez pas de colonnes au début ou au milieu du tableau dans CSV etTSV, car ces formats dépendent de l'ordre. L'ajout d'une colonne dans de tels cas provoquera des erreurs de non-concordance de schéma en cas de modification du schéma de partitions.

L'exemple suivant crée une nouvelle table qui ajoute une o_comment colonne au milieu d'une table en fonction JSON des données.

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