ALTER TABLE DROP PARTITION - Amazon Athena

ALTER TABLE DROP PARTITION

Elimina una o varias particiones especificadas de la tabla indicada.

Sinopsis

ALTER TABLE table_name DROP [IF EXISTS] PARTITION (partition_spec) [, PARTITION (partition_spec)]

Parámetros

[IF EXISTS]

Suprime el mensaje de error si la partición especificada no existe.

PARTITION (partition_spec)

Cada valor de partition_spec especifica una combinación de columna nombre/valor con la forma partition_col_name = partition_col_value [,...].

Ejemplos

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

Notas

La instrucción ALTER TABLE DROP PARTITION no proporciona una sintaxis única para eliminar todas las particiones a la vez ni admite criterios de filtro para especificar un rango de particiones que se eliminarán.

Como alternativa, puede utilizar las acciones de la API de AWS Glue GetPartitions y BatchDeletePartition durante el scripting. La acción GetPartitions admite expresiones de filtro complejas como las de una expresión WHERE de SQL. Después de usar GetPartitions para crear una lista filtrada de particiones para eliminar, puede utilizar la acción BatchDeletePartition para eliminar las particiones en lotes de 25.

importante

Debido a un problema conocido, cuando se especifica una partición no válida para la instrucción ALTER TABLE DROP PARTITION, se eliminan todas las particiones de la tabla en AWS Glue. Por ejemplo, la siguiente instrucción eliminará todas las particiones de la tabla my_table aunque la partición especificada no exista. Como solución alternativa, asegúrese de introducir correctamente la información de la partición antes de ejecutar la instrucción ALTER TABLE DROP PARTITION.

ALTER TABLE my_table DROP IF EXISTS PARTITION(zzz='');