Optimalkan tabel Iceberg - Amazon Athena

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

Optimalkan tabel Iceberg

Ketika data terakumulasi ke dalam tabel Iceberg, kueri secara bertahap menjadi kurang efisien karena peningkatan waktu pemrosesan yang diperlukan untuk membuka file. Biaya komputasi tambahan dikeluarkan jika tabel berisi file hapus. Di Iceberg, hapus file menyimpan penghapusan tingkat baris, dan mesin harus menerapkan baris yang dihapus ke hasil kueri.

Untuk membantu mengoptimalkan kinerja kueri pada tabel Iceberg, Athena mendukung pemadatan manual sebagai perintah pemeliharaan tabel. Pemadatan mengoptimalkan tata letak struktural tabel tanpa mengubah konten tabel.

OPTIMIZE

OPTIMIZE table REWRITE DATATindakan pemadatan menulis ulang file data ke dalam tata letak yang lebih dioptimalkan berdasarkan ukuran dan jumlah file penghapusan terkait. Untuk detail properti sintaks dan tabel, lihatMENGOPTIMALKAN.

Contoh

Contoh berikut menggabungkan menghapus file ke dalam file data dan menghasilkan file di dekat ukuran file yang ditargetkan di mana nilai category adalahc1.

OPTIMIZE iceberg_table REWRITE DATA USING BIN_PACK WHERE category = 'c1'

VACUUM

VACUUMmelakukan kedaluwarsa snapshot dan penghapusan file yatim piatu. Tindakan ini mengurangi ukuran metadata dan menghapus file yang tidak dalam keadaan tabel saat ini yang juga lebih tua dari periode retensi yang ditentukan untuk tabel. Untuk detail sintaks, lihatVACUUM.

Contoh

Contoh berikut menggunakan properti tabel untuk mengkonfigurasi tabel iceberg_table untuk mempertahankan tiga hari terakhir data, kemudian menggunakan VACUUM untuk kedaluwarsa snapshot lama dan menghapus file yatim dari tabel.

ALTER TABLE iceberg_table SET TBLPROPERTIES ( 'vacuum_max_snapshot_age_seconds'='259200' ) VACUUM iceberg_table