Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat posting blog.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengatur antrian kueri
Amazon Redshift Serverless mendukung manajemen sumber daya kueri berbasis antrian. Anda dapat membuat antrian kueri khusus dengan aturan pemantauan yang disesuaikan untuk beban kerja yang berbeda. Fitur ini memberikan kontrol granular atas penggunaan sumber daya.
Aturan pemantauan kueri (QMR) hanya berlaku di tingkat grup kerja Redshift Serverless, yang memengaruhi semua kueri yang dijalankan di workgroup ini secara seragam. Pendekatan berbasis antrian memungkinkan Anda membuat antrian dengan aturan pemantauan yang berbeda. Anda dapat menetapkan antrian ini ke peran pengguna dan grup kueri tertentu. Setiap antrian beroperasi secara independen, dengan aturan yang hanya memengaruhi kueri dalam antrian tersebut.
Antrian memungkinkan Anda mengatur predikat berbasis metrik dan respons otomatis. Misalnya, Anda dapat mengonfigurasi aturan untuk secara otomatis membatalkan kueri yang melebihi batas waktu atau menggunakan terlalu banyak sumber daya.
Pertimbangan-pertimbangan
Pertimbangkan hal berikut saat menggunakan antrian tanpa server:
-
Kunci konfigurasi Manajemen Beban Kerja (WLM) berikut yang digunakan di klaster yang disediakan Amazon Redshift tidak didukung dalam antrian Redshift Tanpa Server:,,,,,,,,. max_execution_time short_query_queue auto_wlm concurrency_scaling priority queue_type query_concurrency memory_percent_to_use user_group user_group_wild_card
Selain itu hop, tindakan change_query_priority tidak didukung di Tanpa Server.
-
Tindakan hop (memindahkan kueri antar antrian) tidak didukung di Amazon Redshift Tanpa Server.
-
Prioritas antrian hanya didukung untuk klaster yang disediakan Amazon Redshift.
-
Amazon Redshift Serverless secara otomatis mengelola penskalaan dan alokasi sumber daya untuk kinerja optimal, sehingga Anda tidak perlu mengonfigurasi prioritas antrian secara manual.
Menyiapkan antrian kueri
Anda dapat membuat antrian di bawah tab Limits untuk grup kerja tanpa server menggunakan, Konsol Manajemen AWS, AWS CLI atau Redshift Serverless API.
- Console
-
Ikuti langkah-langkah ini untuk membuat antrean untuk grup kerja tanpa server Anda.
-
Arahkan ke grup kerja Redshift Serverless Anda.
-
Pilih tab Limits.
-
Di bawah Query Queues, pilih Aktifkan Antrian.
Mengaktifkan antrian kueri adalah perubahan permanen. Anda tidak dapat kembali ke pemantauan tanpa antrian setelah diaktifkan.
-
Konfigurasikan antrian Anda menggunakan parameter berikut:
Parameter tingkat antrian
name- Pengidentifikasi antrian (wajib, unik, tidak kosong)
user_role- Array peran pengguna (opsional)
query_group- Array grup kueri (opsional)
query_group_wild_card- 0 atau 1 untuk mengaktifkan pencocokan wildcard (opsional)
user_group_wild_card- 0 atau 1 untuk mengaktifkan pencocokan wildcard (opsional)
rules- Array aturan pemantauan (opsional)
Parameter tingkat aturan
rule_name- Pengidentifikasi unik, maks 32 karakter (wajib)
predicate- Array kondisi, 1-3 predikat (wajib)
action- “batalkan” atau “log” (wajib)
Parameter tingkat predikat
metric_name- Metrik untuk memantau (wajib)
operator- “=”, “<”, or “>” (wajib)
value- Ambang numerik (wajib)
Batas
Antrian maks 8
Max 25 aturan di semua antrian
Maks 3 predikat per aturan
Nama aturan harus unik secara global
Contoh Konfigurasi
Contoh tiga antrian: satu untuk kueri dasbor dengan batas waktu singkat, satu untuk kueri ETL dengan batas waktu yang lama dan antrian admin:
[
{
"name": "dashboard",
"user_role": ["analyst", "viewer"],
"query_group": ["reporting"],
"query_group_wild_card": 1,
"rules": [
{
"rule_name": "short_timeout",
"predicate": [
{
"metric_name": "query_execution_time",
"operator": ">",
"value": 60
}
],
"action": "abort"
}
]
},
{
"name": "ETL",
"user_role": ["data_scientist"],
"query_group": ["analytics", "ml"],
"rules": [
{
"rule_name": "long_timeout",
"predicate": [
{
"metric_name": "query_execution_time",
"operator": ">",
"value": 3600
}
],
"action": "log"
},
{
"rule_name": "memory_limit",
"predicate": [
{
"metric_name": "query_temp_blocks_to_disk",
"operator": ">",
"value": 100000
}
],
"action": "abort"
}
]
},
{
"name": "admin_queue",
"user_role": ["admin"],
"query_group": ["admin"]
}
]
Dalam contoh ini:
-
Kueri dasbor dibatalkan jika berjalan lebih dari 60 detik
-
Kueri ETL dicatat jika dijalankan lebih dari satu jam
-
Antrian admin tidak memiliki batasan sumber daya
- CLI
-
Anda dapat mengelola antrian menggunakan CreateWorkgroup atau UpdateWorkgroup APIs dengan parameter wlm_json_configuration konfigurasi untuk menentukan antrian dalam format JSON.
aws redshift-serverless create-workgroup \
--workgroup-name test-workgroup \
--namespace-name test-namespace \
--config-parameters '[{"parameterKey": "wlm_json_configuration", "parameterValue": "[{\"name\":\"dashboard\",\"user_role\":[\"analyst\",\"viewer\"],\"query_group\":[\"reporting\"],\"query_group_wild_card\":1,\"rules\":[{\"rule_name\":\"short_timeout\",\"predicate\":[{\"metric_name\":\"query_execution_time\",\"operator\":\">\",\"value\":60}],\"action\":\"abort\"}]},{\"name\":\"ETL\",\"user_role\":[\"data_scientist\"],\"query_group\":[\"analytics\",\"ml\"],\"rules\":[{\"rule_name\":\"long_timeout\",\"predicate\":[{\"metric_name\":\"query_execution_time\",\"operator\":\">\",\"value\":3600}],\"action\":\"log\"},{\"rule_name\":\"memory_limit\",\"predicate\":[{\"metric_name\":\"query_temp_blocks_to_disk\",\"operator\":\">\",\"value\":100000}],\"action\":\"abort\"}]},{\"name\":\"admin_queue\",\"user_role\":[\"admin\"],\"query_group\":[\"admin\"]}]"}]'
Praktik terbaik
Ingatlah praktik terbaik berikut saat Anda menggunakan antrian tanpa server.
-
Gunakan antrian terpisah untuk beban kerja dengan persyaratan batas yang berbeda (misalnya, ETL, pelaporan, atau analisis ad-hoc).
-
Mulailah dengan ambang batas sederhana dan sesuaikan berdasarkan perilaku kueri dan pola penggunaan. Anda dapat memantau pola penggunaan kueri menggunakan tabel dan tampilan yang didokumentasikan dalam tabel dan tampilan sistem untuk aturan pemantauan kueri.