Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Optimalkan tabel Iceberg
Athena menyediakan beberapa fitur optimasi untuk meningkatkan kinerja query pada tabel Apache Iceberg. Ketika data terakumulasi, kueri dapat menjadi kurang efisien karena peningkatan overhead pemrosesan file dan biaya komputasi untuk menerapkan penghapusan tingkat baris yang disimpan dalam file penghapusan Iceberg. Untuk mengatasi tantangan ini, Athena mendukung pemadatan manual dan operator vakum untuk mengoptimalkan struktur tabel. Athena juga bekerja dengan statistik Iceberg untuk mengaktifkan optimasi kueri berbasis biaya dan pengindeksan kolom Parket untuk pemangkasan data yang tepat selama eksekusi kueri. Fitur-fitur ini bekerja sama untuk mengurangi waktu eksekusi kueri, meminimalkan pemindaian data, dan menurunkan biaya. Topik ini menjelaskan cara menggunakan kemampuan pengoptimalan ini untuk mempertahankan kueri berkinerja tinggi di tabel Iceberg Anda.
MENGOPTIMALKAN
OPTIMIZE Tindakan 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.table REWRITE DATA
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'
VAKUM
VACUUMmelakukan kedaluwarsa snapshot dan penghapusan file
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
Gunakan statistik tabel Iceberg
Pengoptimal berbasis biaya Athena menggunakan statistik Iceberg untuk menghasilkan rencana kueri yang optimal. Ketika statistik telah dibuat untuk tabel Gunung Es Anda, Athena secara otomatis menggunakan informasi ini untuk membuat keputusan cerdas tentang pemesanan gabungan, filter, dan perilaku agregasi, seringkali meningkatkan kinerja kueri dan mengurangi biaya.
Statistik gunung es diaktifkan secara default saat Anda menggunakan Tabel S3. Untuk tabel Iceberg lainnya, Athena menggunakan properti tabel use_iceberg_statistics untuk menentukan apakah akan memanfaatkan statistik untuk optimasi berbasis biaya. Untuk memulai, lihat Mengoptimalkan performa kueri menggunakan statistik kolom di Panduan AWS Glue Pengguna atau gunakan konsol Athena untuk menghasilkan statistik sesuai permintaan pada tabel Gunung Es Anda.
Gunakan pengindeksan kolom Parket
Pengindeksan kolom parket memungkinkan Athena melakukan pemangkasan data yang lebih tepat selama eksekusi kueri dengan memanfaatkan statistik tingkat halaman selain min/max statistik tingkat grup baris. Hal ini memungkinkan Athena untuk melewati halaman yang tidak perlu dalam grup baris, secara signifikan mengurangi jumlah data yang dipindai dan meningkatkan kinerja kueri. Ini berfungsi paling baik untuk kueri dengan predikat filter selektif pada kolom yang diurutkan, meningkatkan waktu eksekusi dan efisiensi pemindaian data sekaligus mengurangi jumlah data yang perlu dibaca Athena dari Amazon S3.
Athena menggunakan indeks kolom Parket secara default dengan Tabel S3 jika indeks kolom hadir dalam file Parket yang mendasarinya. Untuk tabel Iceberg lainnya, Athena menggunakan use_iceberg_parquet_column_index properti untuk menentukan apakah akan menggunakan indeks kolom dalam file Parket. Setel properti tabel ini menggunakan AWS Glue konsol atau UpdateTable API.