Bagikan melalui


Apa itu komputasi Apache Spark di Microsoft Fabric?

Berlaku untuk:✅ Rekayasa Data dan Ilmu Data di Microsoft Fabric

Pengalaman Microsoft Fabric Rekayasa Data dan Ilmu Data beroperasi pada platform komputasi Apache Spark yang dikelola sepenuhnya. Platform ini dirancang untuk memberikan kecepatan dan efisiensi yang tak tertandingi. Dengan kumpulan pemula, Anda dapat mengharapkan inisialisasi sesi Apache Spark yang cepat, biasanya dalam waktu 5 hingga 10 detik, tanpa perlu pengaturan manual. Anda juga mendapatkan fleksibilitas untuk menyesuaikan kumpulan Apache Spark sesuai dengan persyaratan rekayasa data dan ilmu data spesifik Anda. Platform ini memungkinkan pengalaman analitik yang dioptimalkan dan disesuaikan. Singkatnya, kumpulan pemula adalah cara cepat untuk menggunakan Spark yang telah dikonfigurasi sebelumnya, sementara kumpulan Spark menawarkan penyesuaian dan fleksibilitas.

Gambar platform komputasi Spark dengan kumpulan pemula dan kumpulan Spark kustom.

Kolam untuk Pemula

Kumpulan pemula adalah cara yang cepat dan mudah untuk menggunakan Spark pada platform Microsoft Fabric dalam hitungan detik. Anda dapat langsung menggunakan sesi Spark, alih-alih menunggu Spark menyiapkan simpul untuk Anda, yang membantu Anda melakukan lebih banyak hal dengan data dan mendapatkan wawasan lebih cepat.

Gambar tabel yang menunjukkan konfigurasi kolam awal.

Kumpulan pemula memiliki kluster Apache Spark dengan sesi yang selalu aktif dan siap untuk permintaan Anda. Mereka menggunakan simpul berskala menengah yang menyesuaikan kapasitas secara dinamis berdasarkan kebutuhan tugas Spark Anda.

Diagram yang menunjukkan desain tingkat tinggi dari kolam awal.

Saat Anda menggunakan Starter Pool tanpa dependensi pustaka tambahan atau properti Spark kustom, biasanya sesi Anda dimulai dalam waktu sekitar 5 hingga 10 detik. Startup cepat ini dimungkinkan karena cluster sudah berjalan dan tidak membutuhkan waktu untuk provisioning.

Catatan

Kumpulan pemula hanya didukung untuk ukuran Node Sedang, dan memilih ukuran node lainnya, atau menyesuaikan konfigurasi komputasi akan mengakibatkan pengalaman mulai sesi sesuai permintaan yang dapat memakan waktu dari 2 - 5 menit

Namun, ada beberapa skenario di mana sesi Anda mungkin membutuhkan waktu lebih lama untuk memulai:

  1. Anda memiliki pustaka kustom atau properti Spark
    Jika Anda telah mengonfigurasi pustaka atau pengaturan kustom di lingkungan Anda, Spark harus mempersonalisasi sesi setelah dibuat. Proses ini dapat menambahkan sekitar 30 detik hingga 5 menit ke waktu mulai Anda, tergantung pada jumlah dan ukuran dependensi pustaka Anda.

  2. Kumpulan Pemula di wilayah Anda sudah terisi penuh
    Dalam kasus yang jarang terjadi, kumpulan awal di suatu daerah mungkin habis sementara karena lalu lintas yang tinggi. Ketika itu terjadi, Fabric memutar kluster baru untuk mengakomodasi permintaan Anda, yang membutuhkan waktu sekitar 2 hingga 5 menit. Setelah kluster baru tersedia, sesi Anda dimulai. Jika Anda juga memiliki pustaka kustom untuk diinstal, Anda perlu menambahkan 30 detik hingga 5 menit yang diperlukan untuk personalisasi.

  3. Fitur jaringan atau keamanan tingkat lanjut (Private Link atau VNet Terkelola)
    Saat ruang kerja Anda memiliki fitur jaringan seperti Tenant Private Links atau Managed VNets, Starter Pools tidak didukung. Dalam situasi ini, Fabric harus membuat kluster sesuai permintaan, yang akan menambah 2 hingga 5 menit ke waktu mulai sesi Anda. Jika Anda juga memiliki ketergantungan pustaka, langkah personalisasi tersebut dapat menambahkan lagi 30 detik hingga 5 menit.

Berikut adalah beberapa contoh skenario untuk mengilustrasikan waktu mulai potensial:

Skenario Waktu Mulai Standar
Pengaturan default, tidak ada pustaka 5 – 10 detik
Pengaturan default + dependensi pustaka 5 – 10 detik + 30 detik – 5 menit (untuk penyiapan pustaka)
Lalu lintas tinggi di wilayah tersebut, tidak ada perpustakaan 2 – 5 menit
Lalu lintas tinggi + dependensi pustaka 2 – 5 menit + 30 detik – 5 menit (untuk pustaka)
Keamanan jaringan (Private Links/VNet), tidak ada pustaka 2 – 5 menit
Keamanan jaringan + dependensi pustaka 2 – 5 menit + 30 detik – 5 menit (untuk pustaka)

Pada saat penagihan dan konsumsi kapasitas, Anda akan dikenakan biaya berdasarkan konsumsi kapasitas ketika Anda mulai menjalankan notebook atau definisi pekerjaan Apache Spark Anda. Anda tidak dikenakan biaya untuk saat klaster tidak aktif di "pool".

Diagram yang menunjukkan tahapan utama dalam penagihan kumpulan pemula.

Misalnya, jika Anda mengirimkan pekerjaan notebook ke kumpulan pemula, Anda hanya ditagih untuk periode waktu di mana sesi buku catatan aktif. Waktu yang ditagih tidak termasuk waktu diam atau waktu yang diperlukan untuk mempersonalisasi sesi dengan konteks Spark. Untuk mempelajari lebih lanjut, lihat cara mengonfigurasi kumpulan awal di Fabric.

Kumpulan Spark

Kumpulan Spark adalah cara untuk memberi tahu Spark jenis sumber daya apa yang Anda butuhkan untuk tugas analisis data Anda. Anda dapat memberi nama kumpulan Spark Anda, dan memilih berapa banyak dan seberapa besar simpul (komputer yang melakukan pekerjaan) . Anda juga dapat memberi tahu Spark cara menyesuaikan jumlah simpul tergantung pada berapa banyak pekerjaan yang Anda miliki. Membuat kumpulan Spark gratis; Anda hanya membayar saat menjalankan pekerjaan Spark di kumpulan tersebut, kemudian Spark menyiapkan simpul untuk Anda.

Jika Anda tidak menggunakan kumpulan Spark selama 2 menit setelah sesi berakhir, kumpulan Spark Anda akan dinonaktifkan. Periode waktu kedaluwarsa sesi default ini diatur ke 20 menit, dan Anda dapat mengubahnya jika anda mau. Jika Anda adalah admin ruang kerja, Anda juga dapat membuat kumpulan Spark kustom untuk ruang kerja Anda, dan menjadikannya opsi default untuk pengguna lain. Dengan cara ini, Anda dapat menghemat waktu dan menghindari pengaturan kumpulan Spark baru setiap kali Anda menjalankan notebook atau pekerjaan Spark. Kumpulan Spark kustom membutuhkan waktu sekitar tiga menit untuk memulai, karena Spark harus mendapatkan node dari Azure.

Anda bahkan dapat membuat kumpulan Spark simpul tunggal dengan mengatur jumlah minimum simpul menjadi satu, sehingga driver dan eksekutor berjalan dalam satu simpul yang dilengkapi dengan ketersediaan tinggi yang dapat dipulihkan dan cocok untuk beban kerja kecil.

Ukuran dan jumlah simpul yang dapat Anda miliki di kumpulan Spark kustom Bergantung pada kapasitas Microsoft Fabric Anda. Kapasitas adalah ukuran berapa banyak daya komputasi yang dapat Anda gunakan di Azure. Salah satu cara untuk memikirkannya adalah bahwa dua Apache Spark VCores (satu unit daya komputasi untuk Spark) sama dengan satu unit kapasitas.

Catatan

Di Apache Spark, pengguna mendapatkan dua Apache Spark VCores untuk setiap unit kapasitas yang mereka pesan sebagai bagian dari SKU mereka. Satu Unit Kapasitas = Dua VCore Spark Jadi F64 => 128 VCore Spark, dan ketika 3x Burst Multiplier diterapkan, ini memberikan total 384 VCore Spark.

Misalnya, kapasitas Fabric SKU F64 memiliki 64 unit kapasitas, yang setara dengan 384 Spark VCores (64 * 2 * 3X Burst Multiplier). Anda dapat menggunakan Spark VCores ini untuk membuat simpul dengan ukuran yang berbeda untuk kumpulan Spark kustom Anda, selama jumlah total Spark VCores tidak melebihi 384.

Kumpulan Spark dikenakan biaya seperti kumpulan pemula; Anda tidak membayar kumpulan Spark kustom yang telah Anda buat kecuali Anda memiliki sesi Spark aktif yang dibuat untuk menjalankan notebook atau definisi pekerjaan Spark. Anda hanya ditagih selama waktu pekerjaan Anda berjalan. Anda tidak ditagih atas tahap-tahap seperti pembuatan kluster dan dealokasi setelah pekerjaan selesai.

Diagram memperlihatkan tahapan tingkat tinggi dalam penagihan kolam kustom.

Misalnya, jika Anda mengirimkan pekerjaan notebook ke kumpulan Spark kustom, Anda hanya dikenakan biaya untuk periode waktu saat sesi aktif. Penagihan untuk sesi buku catatan tersebut berhenti setelah sesi Spark berhenti atau kedaluwarsa. Anda tidak dikenakan biaya untuk waktu yang diperlukan untuk memperoleh instans kluster dari cloud atau untuk waktu yang diperlukan untuk menginisialisasi konteks Spark.

Kemungkinan konfigurasi kumpulan kustom untuk F64 berdasarkan contoh sebelumnya. Ukuran simpul yang lebih kecil memiliki kapasitas yang tersebar di lebih banyak simpul, sehingga jumlah maksimum simpul lebih tinggi. Sedangkan simpul yang lebih besar kaya sumber daya, sehingga lebih sedikit simpul yang diperlukan:

SKU kapasitas kain Unit kapasitas Max Spark VCores dengan Burst Factor Ukuran simpul Jumlah maksimum simpul
F64 64 384 Kecil 96
F64 64 384 Menengah 48
F64 64 384 Besar 24
F64 64 384 X-Besar 12
F64 64 384 XX-Large 6

Catatan

Untuk membuat kumpulan kustom, Anda memerlukan izin admin untuk ruang kerja. Dan administrator kapasitas Microsoft Fabric harus memberikan izin agar memungkinkan administrator ruang kerja untuk menentukan ukuran kumpulan Spark kustom mereka. Untuk mempelajari lebih lanjut, lihat Mulai menggunakan kumpulan Spark kustom di Fabric.

Simpul

Instans kumpulan Apache Spark terdiri dari satu simpul kepala dan beberapa simpul pekerja, dengan kemampuan memulai minimal satu simpul dalam setiap instans Spark. Node utama menjalankan layanan manajemen tambahan seperti Livy, Yarn Resource Manager, Zookeeper, dan driver Apache Spark. Semua simpul menjalankan layanan seperti Node Agent dan Yarn Node Manager. Semua simpul pekerja menjalankan layanan Apache Spark Executor.

Catatan

Dalam Fabric, rasio simpul terhadap pelaksana selalu 1:1. Saat Anda menyiapkan kumpulan, satu simpul didedikasikan untuk pengendali, dan simpul yang tersisa digunakan untuk eksekutor. Satu-satunya pengecualian adalah dalam konfigurasi node tunggal, di mana sumber daya untuk driver dan executor dibelah dua.

Ukuran node

Kumpulan Spark dapat didefinisikan dengan ukuran simpul yang berkisar dari simpul komputasi kecil (dengan memori 4 vCore dan 32 GB) hingga simpul komputasi ekstra besar ganda (dengan 64 vCore dan memori 512 GB per simpul). Ukuran simpul dapat diubah setelah pembuatan kumpulan, meskipun sesi aktif harus dimulai ulang.

Ukuran vCore Memori
Kecil 4 32 GB
Menengah 8 64 GB
Besar 16 128 GB
X-Besar 32 256 GB
XX-Large 64 512 gigabyte

Catatan

Ukuran node X-Large dan XX-Large hanya diperbolehkan untuk SKU Fabric yang bukan uji coba.

Penyesuaian Otomatis

Penskalaan otomatis untuk kumpulan Apache Spark memungkinkan peningkatan dan penurunan skala sumber daya komputasi secara otomatis berdasarkan jumlah aktivitas. Saat mengaktifkan fitur skala otomatis, Anda mengatur jumlah minimum dan maksimum simpul untuk diskalakan. Saat Anda menonaktifkan fitur skala otomatis, jumlah node tetap. Anda dapat mengubah pengaturan ini setelah pembuatan kumpulan, meskipun Anda mungkin perlu menghidupkan ulang instans.

Catatan

Secara bawaan, spark.yarn.executor.decommission.enabled diatur menjadi true, memungkinkan pemadaman otomatis simpul yang kurang dimanfaatkan untuk mengoptimalkan efisiensi komputasi. Jika penurunan skala yang kurang agresif lebih disukai, konfigurasi ini dapat diatur ke false

Alokasi dinamis

Alokasi dinamis memungkinkan aplikasi Apache Spark untuk meminta lebih banyak pelaksana jika tugas melebihi beban yang dapat ditanggung eksekutor saat ini. Ini juga menghentikan eksekutor ketika pekerjaan selesai, dan jika aplikasi Spark beralih menjadi tidak aktif. Pengguna perusahaan sering merasa sulit untuk menyetel konfigurasi pelaksana karena mereka sangat berbeda di berbagai tahap proses eksekusi pekerjaan Spark. Konfigurasi ini juga tergantung pada volume data yang diproses, yang berubah dari waktu ke waktu. Anda dapat mengaktifkan opsi alokasi pelaksana dinamis sebagai bagian dari konfigurasi kumpulan, yang memungkinkan alokasi otomatis pelaksana ke aplikasi Spark berdasarkan simpul yang tersedia di kumpulan Spark.

Saat Anda mengaktifkan opsi alokasi dinamis untuk setiap aplikasi Spark yang dikirimkan, sistem mencadangkan eksekutor selama langkah pengajuan pekerjaan berdasarkan simpul minimum. Anda menentukan simpul maksimum untuk mendukung skenario skala otomatis yang berhasil.