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.
ALTER TABLE DROP PARTITION
Supprime une ou plusieurs partitions spécifiées pour la table nommée.
Résumé
ALTER TABLE table_name DROP [IF EXISTS] PARTITION (partition_spec) [, PARTITION (partition_spec)]
Paramètres
- [IF EXISTS]
-
Supprime le message d'erreur si la partition spécifiée n'existe pas.
- PARTITION (partition_spec)
-
Chaque
partition_spec
indique une combinaison nom/valeur de colonne au formatpartition_col_name = partition_col_value [,...]
.
Exemples
ALTER TABLE orders DROP PARTITION (dt = '2014-05-14', country = 'IN');
ALTER TABLE orders DROP PARTITION (dt = '2014-05-14', country = 'IN'), PARTITION (dt = '2014-05-15', country = 'IN');
Remarques
L'instruction ALTER TABLE DROP PARTITION
ne fournit pas de syntaxe unique pour supprimer toutes les partitions en une seule fois ni ne prend en charge les critères de filtrage pour spécifier une gamme de partitions à supprimer.
Pour contourner le problème, vous pouvez utiliser l' AWS Glue API GetPartitionset les BatchDeletePartitionactions dans les scripts. L'action GetPartitions
prend en charge des expressions de filtre complexes comme celles d'une expression SQL WHERE
. Après avoir utilisé GetPartitions
pour créer une liste filtrée de partitions à supprimer, vous pouvez utiliser l'action BatchDeletePartition
pour supprimer les partitions par lots de 25.
Important
En raison d'un problème connu, lorsqu'une partition non valide est spécifiée pour l'instruction ALTER
TABLE DROP PARTITION
, toutes les partitions de la table sont supprimées dans AWS Glue. Par exemple, l'instruction suivante supprimera toutes les partitions de la table my_table
même si la partition spécifiée n'existe pas. Pour contourner le problème, assurez-vous de saisir correctement les informations de partition avant d'exécuter l'instruction ALTER TABLE DROP PARTITION
.
ALTER TABLE
my_table
DROP IF EXISTS PARTITION(zzz='');