ALTER TABLE DROP PARTITION - Amazon Athena

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

ALTER TABLE DROP PARTITION

Tetes satu atau lebih ditentukan partisi untuk tabel bernama.

Sinopsis

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

Parameter

[JIKA ADA]

Menekan pesan kesalahan jika partisi yang ditentukan tidak ada.

PARTASI (partisi_spec)

Setiappartition_specmenentukan kombinasi nama kolom/nilai dalam bentukpartition_col_name = partition_col_value [,...].

Contoh

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

Catatan

ALTER TABLE DROP PARTITIONPernyataan tersebut tidak menyediakan sintaks tunggal untuk menjatuhkan semua partisi sekaligus atau mendukung kriteria penyaringan untuk menentukan rentang partisi yang akan dijatuhkan.

Sebagai solusinya, Anda dapat menggunakan AWS Glue API GetPartitionsdan BatchDeletePartitiontindakan dalam pembuatan skrip. GetPartitionsTindakan ini mendukung ekspresi filter yang kompleks seperti yang ada dalam WHERE ekspresi SQL. Setelah Anda gunakan GetPartitions untuk membuat daftar partisi yang difilter untuk dihapus, Anda dapat menggunakan BatchDeletePartition tindakan untuk menghapus partisi dalam batch 25.

penting

Karena masalah yang diketahui, ketika partisi yang tidak valid ditentukan untuk ALTER TABLE DROP PARTITION pernyataan, semua partisi untuk tabel dijatuhkan. AWS Glue Misalnya, pernyataan berikut akan menjatuhkan semua partisi untuk tabel my_table meskipun partisi yang ditentukan tidak ada. Sebagai solusinya, pastikan Anda memasukkan informasi partisi dengan benar sebelum menjalankan pernyataan. ALTER TABLE DROP PARTITION

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