Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
VAKUM
VACUUM
Pernyataan tersebut melakukan pemeliharaan tabel pada tabel Apache Iceberg dengan menghapus file data yang tidak lagi diperlukan.
catatan
VACUUM
bersifat transaksional dan hanya didukung untuk tabel Apache Iceberg di mesin Athena versi 3.
Menjalankan VACUUM
pernyataan pada tabel Iceberg disarankan untuk menghapus file data yang tidak lagi relevan dan untuk mengurangi ukuran metadata dan konsumsi penyimpanan. Perhatikan bahwa, karena VACUUM
pernyataan tersebut membuat panggilan API ke Amazon S3, biaya berlaku untuk permintaan terkait ke Amazon S3.
Awas
Jika Anda menjalankan operasi kedaluwarsa snapshot, Anda tidak dapat lagi melakukan perjalanan waktu ke snapshot yang kedaluwarsa.
Sinopsis
Untuk menghapus file data yang tidak lagi diperlukan untuk tabel Iceberg, gunakan sintaks berikut.
VACUUM [database_name
.]target_table
Untuk berjalan VACUUM
di atas meja dengan nama yang dimulai dengan garis bawah (misalnya,_mytable
), lampirkan nama tabel di backticks, seperti pada contoh berikut. Jika Anda mengawali nama tabel dengan nama database, jangan lampirkan nama database di backticks. Perhatikan bahwa tanda kutip ganda tidak akan berfungsi sebagai pengganti backticks.
Perilaku ini khusus untukVACUUM
. INSERT INTO
Pernyataan CREATE
dan tidak memerlukan backticks untuk nama tabel yang dimulai dengan garis bawah.
VACUUM `_mytable` VACUUM my_database.`_mytable`
Perhatikan juga bahwa VACUUM
mengharapkan data Iceberg berada di folder Amazon S3 daripada bucket Amazon S3. Misalnya, jika data Iceberg Anda dis3://DOC-EXAMPLE-BUCKET
/bukans3://DOC-EXAMPLE-BUCKET/myicebergfolder/
, VACUUM
pernyataan gagal dengan pesan kesalahan GENERIC_INTERNAL_ERROR: Jalur hilang di lokasi sistem file:
. s3://DOC-EXAMPLE-BUCKET
Operasi dilakukan
VACUUM
melakukan operasi berikut:
-
Menghapus snapshot yang lebih tua dari jumlah waktu yang ditentukan oleh properti
vacuum_max_snapshot_age_seconds
tabel. Secara default, properti ini diatur ke 432000 detik (5 hari). -
Menghapus snapshot yang tidak berada dalam periode yang akan dipertahankan yang melebihi jumlah yang ditentukan oleh properti
vacuum_min_snapshots_to_keep
tabel. Default-nya adalah 1.Anda dapat menentukan properti tabel ini dalam
CREATE TABLE
pernyataan Anda. Setelah tabel dibuat, Anda dapat menggunakan MENGUBAH PROPERTI SET TABEL pernyataan untuk memperbaruinya. -
Menghapus semua metadata dan file data yang tidak dapat dijangkau sebagai akibat dari penghapusan snapshot. Anda dapat mengonfigurasi jumlah file metadata lama yang akan dipertahankan dengan mengatur properti tabel.
vacuum_max_metadata_files_to_keep
Nilai default-nya adalah 100. -
Menghapus file yatim piatu yang lebih tua dari waktu yang ditentukan dalam properti
vacuum_max_snapshot_age_seconds
tabel. File yatim adalah file dalam direktori data tabel yang bukan bagian dari status tabel.
Untuk informasi lebih lanjut tentang membuat dan mengelola tabel Apache Iceberg di Athena, lihat dan. Membuat tabel Iceberg Mengelola tabel Iceberg