Konfigurasi kumpulan Apache Spark di Azure Synapse Analytics
Kumpulan Spark adalah kumpulan metadata yang menentukan persyaratan sumber daya komputasi dan karakteristik perilaku terkait saat instans Spark dibuat. Karakteristik ini termasuk tetapi tidak terbatas pada nama, jumlah simpul, ukuran simpul, perilaku penskalaan, dan waktu aktif. Kumpulan Spark itu sendiri tidak menggunakan sumber daya apa pun. Tidak ada biaya yang dikenakan untuk membuat kumpulan Spark. Biaya hanya dikenakan setelah pekerjaan Spark dijalankan pada kumpulan Spark target dan instans Spark dibuat sesuai permintaan.
Anda dapat membaca cara membuat kumpulan Spark dan melihat semua propertinya di sini Memulai kumpulan Spark di Synapse Analytics
Komputasi Terisolasi
Opsi Komputasi Terisolasi memberikan keamanan tambahan untuk sumber daya komputasi Spark dari layanan yang tidak tepercaya dengan mendedikasikan sumber daya komputasi fisik untuk satu pelanggan. Opsi komputasi terisolasi paling sesuai bagi beban kerja yang memerlukan isolasi tingkat tinggi dari beban kerja pelanggan lain termasuk untuk alasan persyaratan kepatuhan dan peraturan. Opsi Komputasi Terisolasi hanya tersedia dengan ukuran simpul XXXLarge (80 vCPU/504 GB) dan hanya tersedia di wilayah berikut. Opsi komputasi terisolasi dapat diaktifkan atau dinonaktifkan setelah pembuatan kumpulan meskipun instans mungkin perlu dimulai ulang. Jika Anda berharap untuk mengaktifkan fitur ini di masa mendatang, pastikan ruang kerja Synapse Anda dibuat di wilayah yang didukung komputasi terisolasi.
- US Timur
- US Barat 2
- AS Tengah Bagian Selatan
- US Gov Arizona
- US Gov Virginia
Simpul
Instans kumpulan Apache Spark terdiri dari satu simpul kepala dan dua atau beberapa simpul pekerja dengan minimal tiga simpul dalam instans Spark. Node kepala menjalankan layanan manajemen tambahan seperti Livy, Yarn Resource Manager, Zookeeper, dan driver Spark. Semua simpul menjalankan layanan seperti Node Agent dan Yarn Node Manager. Semua simpul pekerja menjalankan layanan Spark Executor.
Ukuran Simpul
Kumpulan Spark dapat didefinisikan dengan ukuran simpul yang berkisar dari simpul komputasi Kecil dengan memori 4 vCore dan 32 GB hingga simpul komputasi XXLarge dengan memori 64 vCore dan 432 GB per simpul. Ukuran simpul dapat diubah setelah pembuatan kumpulan meskipun instans mungkin perlu dimulai ulang.
Ukuran | vCore | Memori |
---|---|---|
Bentuk dan | 4 | 32 GB |
Medium | 8 | 64 GB |
Bentuk dan | 16 | 128 GB |
XLarge | 32 | 256 GB |
XXLarge | 64 | 432 GB |
XXX Besar (Komputasi Terisolasi) | 80 | 504 GB |
Skala Otomatis
Penskalaan otomatis untuk kumpulan Apache Spark memungkinkan peningkatan dan penurunan skala sumber daya komputasi secara otomatis berdasarkan jumlah aktivitas. Saat fitur penskalaan otomatis diaktifkan, Anda mengatur jumlah node minimum dan maksimum yang akan diskalakan. Ketika fitur penskalaan otomatis dinonaktifkan, jumlah simpul yang ditetapkan akan tetap. Pengaturan ini dapat diubah setelah pembuatan kumpulan meskipun instans mungkin perlu dimulai ulang.
Penyimpanan kumpulan elastis
Kumpulan Apache Spark sekarang mendukung penyimpanan kumpulan elastis. Penyimpanan kumpulan elastis memungkinkan mesin Spark untuk memantau penyimpanan sementara node pekerja dan melampirkan disk tambahan jika diperlukan. Kumpulan Apache Spark menggunakan penyimpanan disk sementara saat kumpulan dibuat instans-nya. Pekerjaan Spark menulis output peta acak, mengacak data, dan data yang ditumpahkan ke disk mesin virtual lokal. Contoh operasi yang dapat menggunakan disk lokal adalah sortir, cache, dan bertahan. Ketika ruang disk VM sementara habis, pekerjaan Spark dapat gagal karena kesalahan "Kehabisan Ruang Disk" (java.io.IOException: Tidak ada ruang yang tersisa di perangkat). Dengan kesalahan “Kehabisan Ruang Disk”, sebagian besar beban untuk mencegah pekerjaan agar tidak gagal beralih ke pelanggan untuk mengonfigurasi ulang pekerjaan Spark (misalnya, mengubah jumlah partisi) atau kluster (misalnya, menambahkan lebih banyak node ke kluster). Kesalahan ini mungkin tidak konsisten, dan pengguna mungkin bereksperimen sangat dengan menjalankan pekerjaan produksi. Proses ini bisa jadi mahal bagi pengguna dalam berbagai dimensi:
- Waktu yang terbuang sia-sia. Pelanggan diharuskan untuk banyak bereksperimen dengan konfigurasi pekerjaan melalui uji coba dan diharapkan memahami metrik internal Spark untuk membuat keputusan yang benar.
- Sumber daya yang terbuang sia-sia. Karena pekerjaan produksi dapat memproses berbagai jumlah data, pekerjaan Spark dapat gagal secara non-deterministik jika sumber daya tidak disediakan secara berlebihan. Misalnya, pertimbangkan masalah kemiringan data, yang dapat mengakibatkan beberapa simpul membutuhkan lebih banyak ruang disk daripada yang lain. Saat ini di Synapse, setiap node dalam sebuah kluster mendapatkan ukuran ruang disk yang sama dan meningkatkan ruang disk di semua node bukanlah solusi yang ideal dan prospek limbah yang luar biasa.
- Perlambatan dalam eksekusi pekerjaan. Dalam skenario hipotetis di mana kami memecahkan masalah dengan menskalakan node secara otomatis (dengan asumsi biaya tidak menjadi masalah bagi pelanggan akhir), menambahkan node komputasi masih mahal (membutuhkan beberapa menit) dibandingkan dengan menambahkan penyimpanan (membutuhkan beberapa detik).
Anda tidak perlu melakukan tindakan apa pun, ditambah lagi Anda akan melihat lebih sedikit kegagalan pekerjaan sebagai hasilnya.
Catatan
Penyimpanan kumpulan Elastis Azure Synapse saat ini berada di Pratinjau Umum. Selama Pratinjau Umum tidak ada biaya untuk penggunaan penyimpanan kumpulan Elastis.
Jeda otomatis
Fitur jeda otomatis merilis sumber daya setelah periode tidak aktif yang ditetapkan, sehingga mengurangi biaya keseluruhan kumpulan Apache Spark. Jumlah menit waktu tidak aktif dapat diatur setelah fitur ini diaktifkan. Fitur jeda otomatis tidak bergantung pada fitur skala otomatis. Sumber daya dapat dijeda baik saat penskalaan otomatis diaktifkan atau dinonaktifkan. Pengaturan ini dapat diubah setelah pembuatan kumpulan meskipun sesi aktif mungkin perlu di-restart.