ALTER TABLE DROP PARTITION - Amazon Athena

ALTER TABLE DROP PARTITION

Descarta uma ou mais partições especificadas para a tabela nomeada.

Resumo

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

Parâmetros

[SE EXISTIR]

Suprime a mensagem de erro se a partição especificada não existir.

PARTIÇÃO (partition_spec)

Cada partition_spec especifica uma combinação de nome de coluna e valor no formato partition_col_name = partition_col_value [,...].

Exemplos

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

Observações

A instrução ALTER TABLE DROP PARTITION não fornece uma sintaxe única para descartar todas as partições de uma só vez nem suporta critérios de filtragem para especificar um intervalo de partições a serem eliminadas.

Como solução de contorno, use as ações GetPartitions e BatchDeletePartition da API do AWS Glue no desenvolvimento de scripts. A ação GetPartitions suporta expressões de filtro complexas como as de uma expressão WHERE em SQL. Depois de usar GetPartitions para criar uma lista filtrada das partições a serem descartadas, você pode usar a ação BatchDeletePartition para descartar as partições em lotes de 25.

Importante

Devido a um problema conhecido, quando uma partição inválida é especificada para a instrução ALTER TABLE DROP PARTITION , todas as partições da tabela são descartadas no AWS Glue. Por exemplo, a instrução a seguir descartará todas as partições da tabela my_table mesmo que a partição especificada não exista. Como solução alternativa, certifique-se de inserir as informações da partição corretamente antes de executar a instrução ALTER TABLE DROP PARTITION.

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