Mengoptimalkan pemanfaatan kluster alur DLT dengan penskalaan otomatis yang ditingkatkan
Artikel ini membahas cara menggunakan penskalaan otomatis yang disempurnakan untuk mengoptimalkan alur DLT Anda di Azure Databricks.
Penskalaan otomatis yang ditingkatkan diaktifkan secara default untuk semua pipeline baru.
Untuk alur tanpa server, penskalaan otomatis yang ditingkatkan selalu aktif dan tidak dapat dinonaktifkan. Lihat Mengonfigurasi alur DLT tanpa server.
Apa itu autoscaling yang ditingkatkan?
Penskalaan otomatis Databricks yang ditingkatkan mengoptimalkan pemanfaatan kluster dengan mengalokasikan sumber daya kluster secara otomatis berdasarkan volume beban kerja, dengan dampak minimal terhadap latensi pemrosesan data alur kerja Anda.
Peningkatan skala otomatis pada fungsionalitas autoscaling kluster Azure Databricks dengan fitur berikut:
- Peningkatan penskalaan otomatis mengimplementasikan pengoptimalan beban kerja streaming dan menambahkan peningkatan untuk meningkatkan performa beban kerja batch. Peningkatan skala otomatis mengoptimalkan biaya dengan menambahkan atau menghapus mesin saat beban kerja berubah.
- Peningkatan penskalaan otomatis secara proaktif mematikan simpul yang kurang digunakan sekaligus menjamin tidak ada tugas yang gagal selama pematian. Fitur autoscaling kluster yang ada menurunkan skala simpul hanya jika simpul diam.
Penskalaan otomatis yang ditingkatkan adalah mode penskalaan otomatis default saat Anda membuat alur baru di antarmuka pengguna DLT. Anda dapat mengaktifkan penskalaan otomatis yang ditingkatkan untuk alur yang ada dengan mengedit pengaturan alur di UI. Anda juga dapat mengaktifkan penskalaan otomatis yang ditingkatkan saat membuat atau mengedit alur dengan DLT API.
Metrik mana yang digunakan autoscaling yang ditingkatkan untuk membuat keputusan peningkatan atau penurunan skala?
Peningkatan skala otomatis menggunakan dua metrik untuk memutuskan peningkatan atau penurunan skala:
- Pemanfaatan slot Tugas: Ini adalah rasio rata-rata jumlah slot tugas sibuk ke total slot tugas yang tersedia di kluster.
- Ukuran antrean Tugas: Ini adalah jumlah tugas yang menunggu untuk dijalankan di slot tugas.
Mengaktifkan penskalaan otomatis yang ditingkatkan untuk alur DLT
Penskalaan otomatis yang ditingkatkan adalah mode penskalaan otomatis default saat Anda membuat alur baru di antarmuka pengguna DLT. Anda dapat mengaktifkan penskalaan otomatis yang ditingkatkan untuk alur yang ada dengan mengedit pengaturan alur di UI. Anda juga dapat mengaktifkan penskalaan otomatis yang ditingkatkan saat membuat atau mengedit alur dengan API DLT.
Untuk menggunakan penskalaan otomatis yang ditingkatkan, lakukan salah satu hal berikut ini:
- Atur mode Kluster ke penskalaan otomatis yang ditingkatkan saat membuat atau mengedit pipeline di DLT UI.
- Tambahkan pengaturan
autoscale
ke konfigurasi kluster alur dan atur bidangmode
keENHANCED
. Lihat Mengonfigurasi komputasi untuk alur DLT.
Gunakan panduan berikut saat mengonfigurasi penskalaan otomatis yang ditingkatkan untuk alur produksi:
- Biarkan pengaturan
Min workers
di default. - Atur pengaturan
Max workers
ke nilai berdasarkan anggaran dan prioritas alur kerja.
Contoh berikut mengonfigurasi kluster penskalaan otomatis yang ditingkatkan dengan minimal 5 pekerja dan maksimum 10 pekerja.
max_workers
harus lebih besar dari atau sama dengan min_workers
.
Nota
{
"clusters": [
{
"autoscale": {
"min_workers": 5,
"max_workers": 10,
"mode": "ENHANCED"
}
}
]
}
Jika alur dikonfigurasi untuk eksekusi berkelanjutan, alur akan dimulai ulang secara otomatis setelah konfigurasi penskalaan otomatis berubah. Setelah menghidupkan ulang, akan ada peningkatan latensi untuk waktu yang singkat. Setelah periode singkat peningkatan latensi ini, ukuran kluster harus diperbarui berdasarkan konfigurasi autoscale
Anda, dan latensi alur harus kembali ke karakteristik latensi sebelumnya.
Membatasi biaya untuk alur yang menggunakan penskalaan otomatis yang ditingkatkan
Nota
Anda tidak dapat mengonfigurasi pekerja untuk alur tanpa server.
Mengatur parameter pekerja Max dalam alur panel Compute mengatur batas atas untuk penskalaan otomatis. Mengurangi jumlah pekerja yang tersedia dapat meningkatkan latensi untuk beberapa beban kerja tetapi mencegah biaya sumber daya komputasi meledak selama operasi komputasi intensif.
Databricks merekomendasikan mengatur pengaturan Max pekerja untuk menyeimbangkan trade-off biaya-latensi sesuai kebutuhan khusus Anda.
Pemantauan alur klasik dengan autoscaling yang ditingkatkan diaktifkan
Anda dapat menggunakan log peristiwa di antarmuka pengguna DLT untuk memantau metrik penskalaan otomatis yang ditingkatkan untuk alur klasik. Peristiwa autoscaling yang disempurnakan memiliki jenis peristiwa autoscale
. Berikut ini adalah contoh peristiwa:
Peristiwa | Pesan |
---|---|
Permintaan mengubah ukuran kluster dimulai | Scaling [up or down] to <y> executors from current cluster size of <x> |
Permintaan mengubah ukuran kluster berhasil | Achieved cluster size <x> for cluster <cluster-id> with status SUCCEEDED |
Permintaan pengurangan ukuran kluster berhasil sebagian | Achieved cluster size <x> for cluster <cluster-id> with status PARTIALLY_SUCCEEDED |
Permintaan pengurangan ukuran kluster gagal | Achieved cluster size <x> for cluster <cluster-id> with status FAILED |
Anda juga dapat melihat peristiwa penskalakan otomatis yang disempurnakan dengan langsung mengkueri log peristiwa :
- Untuk menanyakan log peristiwa untuk ukuran backlog, lihat Memantau backlog data dengan menanyakan log peristiwa.
- Untuk memantau permintaan dan respons pengubahan ukuran kluster selama operasi penskalaan otomatis yang ditingkatkan, lihat Pantau peristiwa penskalaan otomatis yang ditingkatkan dari log peristiwa untuk alur tanpa serverless diaktifkan.