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)
-
Setiap
partition_spec
menentukan 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 PARTITION
Pernyataan 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. GetPartitions
Tindakan 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='');