Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Melompat antrian kueri WLM
Dengan Amazon Redshift, Anda dapat mengelola konkurensi beban kerja dan alokasi sumber daya dengan mengaktifkan lompatan antrian kueri WLM (Manajemen Beban Kerja). Fitur ini memungkinkan kueri untuk sementara “melompat” dari antrian yang ditetapkan ke antrian prioritas yang lebih tinggi ketika sumber daya tersedia, meningkatkan kinerja kueri secara keseluruhan dan pemanfaatan sistem. Bagian berikut memberikan panduan terperinci tentang mengonfigurasi dan memanfaatkan lompatan antrian kueri WLM di Amazon Redshift.
Kueri dapat dilompati karena batas waktu WLM atau tindakan hop aturan pemantauan kueri (QMR). Anda hanya dapat melompat kueri dalam konfigurasi WLM manual.
Saat kueri dilompat, WLM mencoba merutekan kueri ke antrian pencocokan berikutnya berdasarkan aturan penetapan antrian WLM. Jika kueri tidak cocok dengan definisi antrian lainnya, kueri dibatalkan. Itu tidak ditetapkan ke antrian default.
Tindakan batas waktu WLM
Tabel berikut merangkum perilaku berbagai jenis kueri dengan batas waktu WLM.
| Jenis kueri | Tindakan |
|---|---|
| MASUKKAN, PERBARUI, dan HAPUS | Batalkan |
| User-defined fungsi (UDF) | Batalkan |
| MEMBONGKAR | Batalkan |
| MENYALIN | Lanjutkan eksekusi |
| Operasi pemeliharaan | Lanjutkan eksekusi |
Read-only kueri dalam suatu returning negara |
Lanjutkan eksekusi |
Read-only kueri dalam suatu running negara |
Tetapkan kembali atau mulai ulang |
| BUAT TABEL SEBAGAI (CTAS), PILIH KE | Tetapkan kembali atau mulai ulang |
Melompat antrian batas waktu WLM
WLM melompat jenis kueri berikut saat waktunya habis:
-
Read-only kueri, seperti pernyataan SELECT, yang berada dalam status WLM.
runningUntuk menemukan status WLM dari kueri, lihat kolom STATE pada tabel STV_WLM_QUERY_STATE sistem. -
BUAT TABLE AS (CTAS) pernyataan. Lompat antrian WLM mendukung pernyataan CTAS yang ditentukan pengguna dan yang dihasilkan sistem.
-
PILIH PERNYATAAN INTO.
Kueri yang tidak tunduk pada batas waktu WLM terus berjalan di antrian asli hingga selesai. Jenis kueri berikut tidak tunduk pada batas waktu WLM:
-
Pernyataan COPY
-
Operasi pemeliharaan, seperti ALTER, ANALYSIS dan VACUUM
-
Read-only kueri, seperti pernyataan SELECT, yang telah mencapai status WLM.
returningUntuk menemukan status WLM dari kueri, lihat kolom STATE pada tabel STV_WLM_QUERY_STATE sistem.
Kueri yang tidak memenuhi syarat untuk lompat dengan batas waktu WLM dibatalkan saat waktunya habis. Jenis kueri berikut tidak memenuhi syarat untuk dilompat dengan batas waktu WLM:
-
Pernyataan INSERT, UPDATE, dan DELETE
-
Pernyataan UNLOAD
-
User-defined fungsi (UDF)
Waktu tunggu WLM ditugaskan kembali dan memulai ulang kueri
Ketika kueri dilompati dan tidak ada antrian yang cocok ditemukan, kueri dibatalkan.
Ketika kueri dilompati dan antrian yang cocok ditemukan, WLM mencoba menetapkan kembali kueri ke antrian baru. Jika kueri tidak dapat ditugaskan kembali, kueri akan dimulai ulang dalam antrian baru, seperti yang dijelaskan berikut.
Kueri ditugaskan kembali hanya jika semua hal berikut benar:
-
Antrian yang cocok ditemukan.
-
Antrian baru memiliki cukup slot gratis untuk menjalankan kueri. Kueri mungkin memerlukan beberapa slot jika wlm_query_slot_count parameter disetel ke nilai yang lebih besar dari 1.
-
Antrian baru memiliki setidaknya sebanyak memori yang tersedia seperti yang digunakan kueri saat ini.
Jika kueri ditugaskan kembali, kueri terus dieksekusi dalam antrian baru. Hasil menengah dipertahankan, sehingga ada efek minimal pada total waktu eksekusi.
Jika kueri tidak dapat ditugaskan kembali, kueri dibatalkan dan dimulai ulang dalam antrian baru. Hasil menengah dihapus. Kueri menunggu dalam antrian, lalu mulai berjalan ketika cukup slot tersedia.
Tindakan hop QMR
Tabel berikut merangkum perilaku berbagai jenis kueri dengan tindakan hop QMR.
| Jenis kueri | Tindakan |
|---|---|
| MENYALIN | Lanjutkan eksekusi |
| Operasi pemeliharaan | Lanjutkan eksekusi |
| User-defined fungsi (UDF) | Lanjutkan eksekusi |
| MEMBONGKAR | Tetapkan kembali atau lanjutkan eksekusi |
| MASUKKAN, PERBARUI, dan HAPUS | Tetapkan kembali atau lanjutkan eksekusi |
Read-only kueri dalam suatu returning negara |
Tetapkan kembali atau lanjutkan eksekusi |
Read-only kueri dalam suatu running negara |
Tetapkan kembali atau mulai ulang |
| BUAT TABEL SEBAGAI (CTAS), PILIH KE | Tetapkan kembali atau mulai ulang |
Untuk mengetahui apakah kueri yang dilompati oleh QMR ditugaskan kembali, dimulai ulang, atau dibatalkan, kueri tabel log sistem. STL_WLM_RULE_ACTION
Tindakan hop QMR ditugaskan ulang dan kueri dimulai ulang
Ketika kueri dilompati dan tidak ada antrian yang cocok ditemukan, kueri dibatalkan.
Ketika kueri dilompati dan antrian yang cocok ditemukan, WLM mencoba menetapkan kembali kueri ke antrian baru. Jika kueri tidak dapat ditugaskan kembali, kueri tersebut akan dimulai ulang di antrian baru atau melanjutkan eksekusi dalam antrian asli, seperti yang dijelaskan berikut.
Kueri ditugaskan kembali hanya jika semua hal berikut benar:
-
Antrian yang cocok ditemukan.
-
Antrian baru memiliki cukup slot gratis untuk menjalankan kueri. Kueri mungkin memerlukan beberapa slot jika wlm_query_slot_count parameter disetel ke nilai yang lebih besar dari 1.
-
Antrian baru memiliki setidaknya sebanyak memori yang tersedia seperti yang digunakan kueri saat ini.
Jika kueri ditugaskan kembali, kueri terus dieksekusi dalam antrian baru. Hasil menengah dipertahankan, sehingga ada efek minimal pada total waktu eksekusi.
Jika kueri tidak dapat ditugaskan kembali, kueri akan dimulai ulang atau melanjutkan eksekusi dalam antrian asli. Jika kueri dimulai ulang, kueri dibatalkan dan dimulai kembali dalam antrian baru. Hasil menengah dihapus. Kueri menunggu dalam antrian, kemudian memulai eksekusi ketika cukup slot tersedia.