Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fabric Runtime adalah platform terintegrasi Azure berbasis Apache Spark yang memungkinkan eksekusi dan pengelolaan pengalaman rekayasa data dan ilmu data. Ini menggabungkan komponen utama dari sumber internal dan sumber terbuka, memberi pelanggan solusi yang komprehensif. Untuk kesederhanaan, lihat Fabric Runtime yang didukung oleh Apache Spark sebagai Fabric Runtime.
Komponen utama Fabric Runtime:
Apache Spark - pustaka komputasi terdistribusi sumber terbuka yang kuat yang memungkinkan pemrosesan data skala besar dan tugas analitik. Apache Spark menyediakan platform serbaguna dan berperforma tinggi untuk pengalaman rekayasa data dan ilmu data.
Delta Lake - lapisan penyimpanan sumber terbuka yang membawa transaksi ACID dan fitur keandalan data lainnya ke Apache Spark. Terintegrasi dalam Fabric Runtime, Delta Lake meningkatkan kemampuan pemrosesan data dan memastikan konsistensi data di beberapa operasi bersamaan.
Native Execution Engine - peningkatan transformatif untuk beban kerja Apache Spark, menawarkan peningkatan performa signifikan dengan langsung menjalankan kueri Spark pada infrastruktur lakehouse. Terintegrasi secara mulus, solusi ini tidak memerlukan perubahan kode dan menghindari ketergantungan pada vendor. Aplikasi ini mendukung format Parquet dan Delta di seluruh API Apache Spark pada Runtime 1.3 (Spark 3.5) dan Runtime 2.0 (Spark 4.1).
Operator yang didukung dilepas dari Spark berbasis JVM ke jalur eksekusi C++ vektor melalui Apache Gluten dan Velox, menyediakan pemrosesan kolumnar yang dipercepat SIMD dengan dukungan asli untuk format Parquet dan Delta. Saat operator tidak didukung, eksekusi secara otomatis kembali ke Spark berbasis JVM. Dalam tolok ukur representatif (TPC-DS pada faktor skala 1000 dan menggunakan Delta), mesin mencapai performa hingga enam kali lebih cepat dibandingkan Spark sumber terbuka, yang menghasilkan sekitar 83% penghematan biaya komputasi pada kluster Fabric ukuran tetap.
Jalur asli mempertahankan pengoptimalan kueri Fabric Spark, termasuk eksekusi adaptif kueri, penulisan ulang berbasis biaya, pemangkasan kolom, dan predikat pushdown. Anda dapat mengaktifkan atau menonaktifkan eksekusi native per aplikasi menggunakan konfigurasi
spark.native.enabled. Selama eksekusi sel notebook, Fabric Spark Advisor menampilkan pemberitahuan real time ketika eksekusi kembali ke Spark berbasis JVM, membantu Anda mendiagnosis ketika offload asli tidak diterapkan.Paket tingkat default untuk paket Java/Scala, Python, dan R - yang mendukung beragam bahasa dan lingkungan pemrograman. Paket ini secara otomatis diinstal dan dikonfigurasi, sehingga pengembang dapat menerapkan bahasa pemrograman pilihan mereka untuk tugas pemrosesan data.
Fabric Runtime dibangun di atas sistem operasi open-source yang tangguh, memastikan kompatibilitas dengan berbagai konfigurasi perangkat keras dan persyaratan sistem.
Dalam tabel berikut, Anda menemukan perbandingan komprehensif komponen utama, termasuk versi Apache Spark, sistem operasi yang didukung, Java, Scala, Python, Delta Lake, dan R, untuk runtime berbasis Apache Spark dalam platform Fabric.
Petunjuk
Selalu gunakan versi runtime terbaru yang tersedia secara umum (GA) untuk beban kerja produksi Anda, yang saat ini adalah Runtime 1.3.
| Komponen | Runtime 1.3 | Runtime 2.0 |
|---|---|---|
| Tahap Rilis | GA | Pratinjau Umum |
| Versi Apache Spark | 3.5.5 | 4.1 |
| Sistem Operasi | Mariner 2.0 | Mariner 3.0 |
| Versi Java | 11 | 21 |
| Versi Scala | 2.12.17 | 2.13.16 |
| Versi Python | 3.11 | 3.13 |
| Versi Delta Lake | 3.2 | 4.2 |
Kunjungi Runtime 1.3 atau Runtime 2.0 untuk menjelajahi detail, fitur baru, peningkatan, dan skenario migrasi untuk versi runtime tertentu.
Pengoptimalan fabric
Di Fabric, baik mesin Spark maupun implementasi Delta Lake menggabungkan optimasi dan fitur khusus platform. Fitur-fitur ini menggunakan integrasi native di dalam platform. Anda dapat menonaktifkan semua fitur ini untuk mencapai fungsi standar Spark dan Delta Lake. Fabric Runtimes untuk Apache Spark mencakup:
- Versi sumber terbuka lengkap Apache Spark.
- Kumpulan hampir 100 peningkatan performa kueri bawaan yang berbeda. Penyempurnaan ini mencakup fitur seperti cache partisi (memungkinkan penyimpanan sementara partisi FileSystem untuk mengurangi permintaan ke metastore) dan Cross Join hingga Proyeksi Subkueri Skalar.
- Cache cerdas bawaan.
Di Fabric Runtime untuk Apache Spark dan Delta Lake, kapabilitas penulis bawaan memiliki dua tujuan utama:
- Mereka menawarkan kinerja yang berbeda untuk beban kerja penulisan, mengoptimalkan proses penulisan.
- Mereka secara default menggunakan optimasi urutan V untuk file Delta Parchet. Optimasi Delta Lake V-order sangat penting untuk memberikan performa baca yang unggul di semua mesin Fabric. Untuk mendapatkan pemahaman lebih dalam tentang cara operasinya dan cara mengelolanya, lihat optimasi tabel Delta Lake dan V-order.
Dukungan untuk beberapa runtime
Fabric mendukung beberapa runtime, sehingga Anda dapat beralih di antara mereka dan mengurangi risiko masalah kompatibilitas atau gangguan.
Note
Runtime Spark mencakup versi Python tertentu sebagai bagian dari set komponennya. Misalnya, Runtime 1.3 menyertakan Python 3.11. Versi Python ini terpisah dari kernel notebook Python yang Anda pilih untuk notebook Python murni. Untuk siklus hidup kernel notebook Python, lihat runtime notebook Python dan siklus hidup kernel di Fabric.
Secara default, semua ruang kerja baru menggunakan versi runtime GA terbaru, yang saat ini runtime 1.3.
Untuk mengubah versi runtime pada tingkat ruang kerja, buka Pengaturan Ruang Kerja>Rekayasa Data/Sains>Pengaturan Spark. Dari tab Lingkungan, pilih versi runtime yang Anda inginkan dari opsi yang tersedia. Pilih Simpan untuk mengonfirmasi pilihan Anda.
Setelah Anda melakukan perubahan ini, semua item yang dibuat sistem di dalam workspace, termasuk lakehouse, deskripsi pekerjaan Spark, dan notebook, akan menggunakan versi runtime tingkat workspace yang baru dipilih mulai dari Sesi Spark berikutnya. Jika Anda saat ini menggunakan notebook dengan sesi yang sudah ada untuk suatu tugas atau aktivitas apa pun yang terkait dengan lakehouse, sesi Spark tersebut akan tetap berjalan apa adanya. Namun, mulai dari sesi atau pekerjaan berikutnya, versi runtime yang dipilih akan berlaku.
Untuk mengubah runtime pada Environment tingkat item, buat item Environment baru atau buka item yang sudah ada. Pada menu tarik-turun Runtime, pilih versi runtime yang diinginkan dari opsi yang tersedia, pilih Save, lalu Publish perubahan Anda. Selanjutnya, Anda dapat menggunakan item ini Environment dengan anda Notebook atau Spark Job Definition.
Konsekuensi perubahan runtime pada Pengaturan Spark
Sistem memigrasikan semua pengaturan Spark. Namun, jika sistem mengidentifikasi bahwa pengaturan Spark tidak kompatibel dengan Runtime B, sistem akan menampilkan pesan peringatan dan pengaturan tersebut tidak diimplementasikan.
Konsekuensi perubahan runtime pada manajemen pustaka
Sistem manajemen pustaka memigrasikan semua pustaka dari Runtime A ke Runtime B, termasuk runtime publik dan kustom. Jika versi Python dan R tetap sama, pustaka akan berfungsi dengan baik. Namun, untuk JAR, ada kemungkinan besar mereka tidak berfungsi karena perubahan ketergantungan dan faktor lain seperti perubahan pada Scala, Java, Spark, dan sistem operasi.
Anda bertanggung jawab untuk memperbarui atau mengganti pustaka yang tidak berfungsi dengan Runtime B. Jika ada konflik, yang berarti Runtime B menyertakan pustaka yang awalnya didefinisikan di Runtime A, sistem manajemen pustaka akan mencoba membuat ketergantungan yang diperlukan untuk Runtime B berdasarkan pengaturan Anda. Namun, proses bangunan gagal jika terjadi konflik. Dalam log kesalahan, Anda dapat melihat pustaka mana yang menyebabkan konflik dan melakukan penyesuaian pada versi atau spesifikasinya.
Meningkatkan protokol Delta Lake
Fitur Delta Lake selalu kompatibel ke belakang, memastikan tabel yang dibuat dalam versi Delta Lake yang lebih rendah dapat berinteraksi dengan mulus dengan versi yang lebih tinggi. Namun, ketika Anda mengaktifkan fitur tertentu (misalnya, dengan menggunakan metode ini delta.upgradeTableProtocol(minReaderVersion, minWriterVersion) ), Anda mungkin mengorbankan kompatibilitas ke depan dengan versi Delta Lake yang lebih rendah. Dalam kasus seperti itu, Anda perlu memodifikasi beban kerja yang merujuk pada tabel yang ditingkatkan agar selaras dengan versi Delta Lake yang tetap kompatibilitas.
Setiap tabel Delta dikaitkan dengan spesifikasi protokol, yang mendefinisikan fitur yang didukungnya. Aplikasi yang berinteraksi dengan tabel, baik untuk membaca atau menulis, mengandalkan spesifikasi protokol ini untuk menentukan apakah aplikasi tersebut kompatibel dengan kumpulan fitur tabel. Jika sebuah aplikasi tidak memiliki kemampuan untuk menangani fitur yang tercantum sebagai didukung dalam protokol tabel, aplikasi tersebut tidak dapat membaca atau menulis ke tabel tersebut.
Spesifikasi protokol dibagi menjadi dua komponen berbeda: protokol "baca" dan protokol "tulis". Untuk informasi lebih lanjut, lihat Bagaimana Delta Lake mengelola kompatibilitas fitur?
Anda dapat menjalankan perintah delta.upgradeTableProtocol(minReaderVersion, minWriterVersion) ini di lingkungan PySpark, serta di Spark SQL dan Scala. Perintah ini memulai pembaruan pada tabel Delta.
Saat Anda melakukan peningkatan ini, Anda akan menerima peringatan bahwa pembaruan versi protokol Delta adalah proses yang tidak dapat dibalik. Proses ini berarti setelah Anda menjalankan pembaruan, Anda tidak bisa membatalkannya.
Peningkatan versi protokol berpotensi memengaruhi kompatibilitas pembaca tabel Delta Lake yang ada, penulis, atau keduanya. Oleh karena itu, berhati-hatilah dan tingkatkan versi protokol hanya jika diperlukan, misalnya saat mengadopsi fitur baru di Delta Lake.
Penting
Untuk mempelajari lebih lanjut tentang versi dan fitur protokol mana yang kompatibel di semua pengalaman Fabric, lihat interoperabilitas format tabel Delta Lake.
Selain itu, pastikan semua beban kerja dan proses produksi saat ini maupun yang akan datang kompatibel dengan tabel Delta Lake menggunakan versi protokol baru untuk memastikan transisi yang mulus dan mencegah potensi gangguan.