Gambaran umum komputasi Apache Spark di Microsoft Fabric

Berlaku untuk:✅ Rekayasa Data Fabric dan Ilmu Data

Fabric Data Engineering dan Data Science berjalan pada platform komputasi Apache Spark yang dikelola sepenuhnya. Kumpulan pemula menyediakan startup sesi cepat, biasanya dalam 5 hingga 10 detik, tanpa pengaturan manual. Kumpulan Spark kustom memungkinkan Anda menyetel ukuran simpul, perilaku penskalaan, dan pengaturan komputasi lainnya untuk beban kerja Anda. Singkatnya, kumpulan pemula menyediakan Spark yang cepat dan telah dikonfigurasi sebelumnya, sementara kumpulan Spark kustom memberikan kontrol dan fleksibilitas yang lebih dalam.

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

Kolam untuk Pemula

Starter pool adalah cara cepat dan mudah untuk menggunakan Spark di platform Fabric hanya 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 kumpulan pemula tanpa dependensi pustaka tambahan atau properti Spark kustom, sesi Anda biasanya dimulai dalam 5 hingga 10 detik. Startup cepat ini dimungkinkan karena cluster sudah berjalan dan tidak membutuhkan waktu untuk provisioning.

Important

Pool starter adalah optimasi dengan upaya terbaik yang dikelola oleh Microsoft untuk mengurangi waktu startup Spark dengan menggunakan kapasitas yang sudah disiapkan sebelumnya. Kapasitas pool awal tidak dijamin pada setiap eksekusi. Saat kapasitas yang telah disiapkan sebelumnya tersedia, sesi biasanya dapat dimulai dalam hitungan detik. Jika tidak, Fabric memulai sesi menggunakan kapasitas standar sesuai permintaan, yang dapat memakan waktu lebih lama. Untuk beban kerja yang memerlukan waktu mulai sesi yang konsisten dan dapat diprediksi, gunakan live pool kustom.

Catatan

Kumpulan pemula hanya mendukung Ukuran node sedang. Jika Anda memilih ukuran node yang berbeda atau menyesuaikan konfigurasi komputasi, Fabric menggunakan startup sesi sesuai permintaan, yang dapat memakan waktu 2 hingga 5 menit.

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

Pustaka kustom atau properti Spark: Jika Anda telah mengonfigurasi pustaka atau pengaturan kustom di lingkungan Anda, Spark harus mempersonalisasi sesi setelah dibuat. Waktu tambahan bergantung pada mode penerbitan pustaka Anda:

  • Mode cepat: Pustaka diinstal pada sesi mulai. Harapkan tambahan 30 detik hingga 5 menit, tergantung pada jumlah dan ukuran dependensi Anda.
  • Mode penuh: Rekam jepret lingkungan disebarkan pada awal sesi, biasanya menambahkan 1 hingga 3 menit.
  • Mode penuh dengan kumpulan langsung kustom: Rekam jepret sudah diinstal sebelumnya pada kluster terhidrasi, sehingga personalisasi pustaka menambahkan overhead minimal dan sesi dapat dimulai dalam waktu sekitar 5 detik.

Catatan

Folder Resources buku catatan dan perintah instalasi pustaka inline (seperti %pip install) adalah pendekatan manual per sesi. Mereka tidak terpengaruh oleh publikasi lingkungan dan selalu terinstal selama sesi aktif.

Kumpulan sumber daya awal di wilayah Anda sudah sepenuhnya terpakai: Dalam kasus yang jarang terjadi, kumpulan sumber daya awal di wilayah tersebut mungkin sementara kehabisan 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, tambahkan 30 detik hingga 5 menit yang diperlukan untuk personalisasi.

Fitur jaringan atau keamanan tingkat lanjut (Private Links atau VNet Terkelola): Saat ruang kerja Anda memiliki fitur jaringan seperti Private Link Penyewa atau VNet Terkelola, kumpulan pemula 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 dependensi pustaka, langkah personalisasi tersebut dapat menambahkan waktu tambahan sebesar 30 detik hingga 5 menit.

Tip

Saat Anda memerlukan waktu mulai sesi yang cepat dan dapat diprediksi—misalnya, untuk definisi job Spark terjadwal atau beban kerja lain yang sensitif terhadap latensi—gunakan live pool kustom alih-alih mengandalkan kapasitas starter pool. Pool live kustom menjaga kluster khusus tetap siap sesuai jadwal yang Anda tentukan (jendela aktif), sehingga sesi dapat dimulai secara konsisten dalam sekitar 5 detik selama jendela tersebut. Karena kluster dihidrasi terlebih dahulu, pustaka lingkungan Anda sudah diinstal sebelumnya pada kluster, yang menghapus waktu personalisasi pustaka per sesi.

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 Mengonfigurasi kumpulan pemula 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. Pool Spark kustom membutuhkan waktu sekitar tiga menit untuk memulai, karena Spark harus mendapatkan node dari Azure. Pengecualiannya adalah ketika Anda menggunakan kumpulan Spark kustom yang dikonfigurasi sebagai kumpulan live kustom dengan pengaturan Mode Penuh; dalam kasus ini, sesi dapat dimulai dalam waktu sekitar 5 detik karena kluster sudah dipenuhi dengan snapshot pustaka Anda.

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 node yang dapat Anda miliki dalam kolam Spark kustom Anda tergantung pada kapasitas Fabric Anda. Kapasitas adalah ukuran berapa banyak daya komputasi yang dapat Anda gunakan. Salah satu cara untuk memikirkannya adalah bahwa dua Apache Spark vCores (satu unit komputasi 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 Spark vCores. Misalnya, F64 memberikan 128 Spark vCores, dan pengali burst 3x meningkatkan nilai ini menjadi 384 Spark vCores.

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. Admin kapasitas Fabric juga harus memberikan izin yang memungkinkan admin workspace untuk menyesuaikan ukuran pool Spark kustom. Untuk mempelajari lebih lanjut, lihat Mulai menggunakan kumpulan Spark kustom di Fabric.

Simpul

Instans kumpulan Apache Spark terdiri dari satu node kepala dan satu atau beberapa node pekerja. Instans Spark dapat dimulai dengan minimal satu simpul. Simpul kepala menjalankan layanan manajemen seperti Livy, YARN Resource Manager, ZooKeeper, dan driver Apache Spark. Semua node 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.