Bagikan melalui


Fabric Runtime 1.2 (GA)

Microsoft Fabric Runtime adalah platform terintegrasi Azure berdasarkan Apache Spark yang memungkinkan eksekusi dan manajemen pengalaman rekayasa data dan ilmu data. Dokumen ini mencakup komponen dan versi Runtime 1.2.

Komponen utama Runtime 1.2 meliputi:

  • Apache Spark 3.4.1
  • Sistem Operasi: Mariner 2.0
  • Java: 11
  • Scala: 2.12.17
  • Python: 3.10
  • Danau Delta: 2.4.0
  • R: 4.2.2

Tip

Selalu gunakan versi runtime GA terbaru untuk beban kerja produksi Anda, yang saat ini adalah Runtime 1.3.

Cuplikan layar memperlihatkan tempat memilih versi runtime.

Microsoft Fabric Runtime 1.2 dilengkapi dengan koleksi paket tingkat default, termasuk instalasi Anaconda lengkap dan pustaka yang umum digunakan untuk Java/Scala, Python, dan R. Pustaka ini secara otomatis disertakan saat menggunakan notebook atau pekerjaan di platform Microsoft Fabric. Lihat dokumentasi untuk daftar lengkap pustaka. Microsoft Fabric secara berkala meluncurkan pembaruan pemeliharaan untuk Runtime 1.2, menyediakan perbaikan bug, peningkatan performa, dan patch keamanan. Tetap terkini memastikan performa dan keandalan yang optimal untuk tugas pemrosesan data Anda.

Fitur dan peningkatan baru Spark Release 3.4.1

Apache Spark 3.4.0 adalah rilis kelima di baris 3.x. Rilis ini, didorong oleh komunitas sumber terbuka, menyelesaikan lebih dari 2.600 tiket Jira. Ini memperkenalkan klien Python untuk Spark Connect, meningkatkan Streaming Terstruktur dengan pelacakan kemajuan asinkron dan pemrosesan stateful Python. Ini memperluas cakupan API Pandas dengan dukungan input NumPy, menyederhanakan migrasi dari gudang data tradisional melalui kepatuhan ANSI dan fungsi bawaan baru. Ini juga meningkatkan produktivitas pengembangan dan debuggability dengan pembuatan profil memori. Selain itu, Runtime 1.2 didasarkan pada Apache Spark 3.4.1, rilis pemeliharaan yang berfokus pada perbaikan stabilitas.

Sorotan utama

Baca versi lengkap catatan rilis untuk versi Apache Spark tertentu dengan mengunjungi Spark 3.4.0 dan Spark 3.4.1.

Pengoptimalan kueri kustom baru

Dukungan Penulisan Bersamaan di Spark

Mengalami kesalahan 404 dengan pesan 'Operasi gagal: Jalur yang ditentukan tidak ada' adalah masalah umum saat melakukan penyisipan data paralel ke dalam tabel yang sama menggunakan kueri SQL INSERT INTO. Kesalahan ini dapat mengakibatkan kehilangan data. Fitur baru kami, Algoritma Penerapan Output File, menyelesaikan masalah ini, memungkinkan pelanggan untuk melakukan penyisipan data paralel dengan mulus.

Untuk mengakses fitur ini, aktifkan spark.sql.enable.concurrentWrites bendera fitur, yang diaktifkan secara default mulai dari Runtime 1.2 (Spark 3.4). Meskipun fitur ini juga tersedia di versi Spark 3 lainnya, fitur ini tidak diaktifkan secara default. Fitur ini tidak mendukung eksekusi paralel kueri INSERT OVERWRITE di mana setiap pekerjaan bersamaan menimpa data pada partisi yang berbeda dari tabel yang sama secara dinamis. Untuk tujuan ini, Spark menawarkan fitur alternatif, yang dapat diaktifkan dengan mengonfigurasi spark.sql.sources.partitionOverwriteMode pengaturan ke dinamis.

Bacaan cerdas, yang melewati file dari pekerjaan yang gagal

Dalam sistem committer Spark saat ini, ketika penyisipan ke dalam pekerjaan tabel gagal tetapi beberapa tugas berhasil, file yang dihasilkan oleh tugas yang berhasil berdampingan dengan file dari pekerjaan yang gagal. Koeksistensi ini dapat menyebabkan kebingungan bagi pengguna karena menjadi tantangan untuk membedakan antara file milik pekerjaan yang berhasil dan tidak berhasil. Selain itu, ketika satu pekerjaan membaca dari tabel sementara yang lain menyisipkan data secara bersamaan ke dalam tabel yang sama, pekerjaan membaca mungkin mengakses data yang tidak dilakukan. Jika pekerjaan tulis gagal, pekerjaan membaca dapat memproses data yang salah.

Bendera spark.sql.auto.cleanup.enabled mengontrol fitur baru kami, mengatasi masalah ini. Saat diaktifkan, Spark secara otomatis melompati membaca file yang belum diterapkan saat melakukan spark.read atau memilih kueri dari tabel. File yang ditulis sebelum mengaktifkan fitur ini terus dibaca seperti biasa.

Berikut adalah perubahan yang terlihat:

  • Semua file sekarang menyertakan tid-{jobID} pengidentifikasi dalam nama file mereka.
  • Alih-alih _success penanda biasanya dibuat di lokasi output setelah pekerjaan berhasil diselesaikan, penanda baru _committed_{jobID} dihasilkan. Penanda ini mengaitkan ID Pekerjaan yang berhasil dengan nama file tertentu.
  • Kami memperkenalkan perintah SQL baru yang dapat dijalankan pengguna secara berkala untuk mengelola penyimpanan dan membersihkan file yang tidak dilakukan. Sintaks untuk perintah ini adalah sebagai berikut:
    • Untuk membersihkan direktori tertentu: CLEANUP ('/path/to/dir') [RETAIN number HOURS];
    • Untuk membersihkan tabel tertentu: CLEANUP [db_name.]table_name [RETAIN number HOURS]; Dalam sintaks ini, path/to/dir mewakili URI lokasi di mana pembersihan diperlukan, dan number merupakan nilai jenis ganda yang mewakili periode retensi. Periode retensi default diatur ke tujuh hari.
  • Kami memperkenalkan opsi konfigurasi baru yang disebut spark.sql.deleteUncommittedFilesWhileListing, yang diatur ke false secara default. Mengaktifkan opsi ini menghasilkan penghapusan otomatis file yang tidak dilakukan selama pembacaan, tetapi skenario ini mungkin memperlambat operasi baca. Disarankan untuk menjalankan perintah pembersihan secara manual saat kluster menganggur alih-alih mengaktifkan bendera ini.

Panduan migrasi dari Runtime 1.1 ke Runtime 1.2

Saat bermigrasi dari Runtime 1.1, didukung oleh Apache Spark 3.3, ke Runtime 1.2, didukung oleh Apache Spark 3.4, tinjau panduan migrasi resmi.

Fitur dan peningkatan baru Delta Lake 2.4

Delta Lake adalah proyek sumber terbuka yang memungkinkan pembangunan arsitektur lakehouse di atas data lake. Delta Lake menyediakan transaksi ACID, penanganan metadata yang dapat diskalakan, dan menyatukan streaming dan pemrosesan data batch.

Secara khusus, Delta Lake menawarkan:

  • Transaksi ACID pada Spark: Tingkat isolasi serializable memastikan bahwa pembaca tidak pernah melihat data yang tidak konsisten.
  • Penanganan metadata yang dapat diskalakan: Menggunakan daya pemrosesan terdistribusi Spark untuk menangani semua metadata untuk tabel skala petabyte dengan miliaran file dengan mudah.
  • Streaming dan penyatuan batch : Tabel di Delta Lake adalah tabel batch dan sumber streaming dan sink. Penyerapan data streaming, riwayat penimbunan batch, kueri interaktif semua hanya bekerja di luar kotak.
  • Penegakan skema: Secara otomatis menangani variasi skema untuk mencegah penyisipan catatan buruk selama konsumsi.
  • Perjalanan waktu: Pembuatan versi data memungkinkan kemunduran, jalur audit historis penuh, dan eksperimen pembelajaran mesin yang dapat direproduksi.
  • Upsert dan penghapusan: Mendukung operasi penggabungan, pembaruan, dan penghapusan untuk mengaktifkan kasus penggunaan yang kompleks seperti operasi change-data-capture, dimensi (SCD) yang berubah perlahan, upsert streaming, dan sebagainya.

Baca versi lengkap catatan rilis untuk Delta Lake 2.4.

Paket tingkat default untuk pustaka Java, Scala, Python

Untuk daftar semua paket tingkat default untuk Java, Scala, Python, dan versi masing-masing, lihat catatan rilis.