Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
ALTER TABLE DROP PARTITION
Rimuove una o più partizioni specificate per la tabella denominata.
Riepilogo
ALTER TABLE table_name DROP [IF EXISTS] PARTITION (partition_spec) [, PARTITION (partition_spec)]
Parametri
- [IF EXISTS]
-
Sopprime il messaggio di errore se la partizione specificata non esiste.
- PARTITION (partition_spec)
-
Ogni
partition_spec
specifica una combinazione nome/valore di colonna nel modulopartition_col_name = partition_col_value [,...]
.
Esempi
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');
Note
L'istruzione ALTER TABLE DROP PARTITION
non fornisce una singola sintassi per eliminare tutte le partizioni contemporaneamente o supporta i criteri di filtraggio per specificare un intervallo di partizioni da eliminare.
Come soluzione alternativa, puoi utilizzare l' AWS Glue API GetPartitionse BatchDeletePartitionle azioni negli script. L'operazione GetPartitions
supporta espressioni di filtro complesse come quelle presenti in un'espressione WHERE
SQL. Dopo aver utilizzato GetPartitions
per creare un elenco filtrato di partizioni da eliminare, è possibile utilizzare l'operazione BatchDeletePartition
per eliminare le partizioni in batch di 25.
Importante
A causa di un problema noto, quando viene specificata una partizione non valida per la dichiarazione ALTER
TABLE DROP PARTITION
, tutte le partizioni della tabella vengono eliminate in AWS Glue. Ad esempio, la seguente dichiarazione eliminerà tutte le partizioni della tabella my_table
anche se la partizione specificata non esiste. Come soluzione alternativa, assicurati di inserire correttamente le informazioni sulla partizione prima di eseguire la dichiarazione ALTER TABLE DROP PARTITION
.
ALTER TABLE
my_table
DROP IF EXISTS PARTITION(zzz='');