Bagikan melalui


Cache cerdas di Microsoft Fabric

Fitur cache cerdas berfungsi dengan mulus di belakang layar dan data cache untuk membantu mempercepat eksekusi pekerjaan Apache Spark di Microsoft Fabric saat dibaca dari penyimpanan OneLake atau Azure Data Lake Storage (ADLS) Gen2 Anda melalui pintasan. Ini juga secara otomatis mendeteksi perubahan pada file yang mendasar dan secara otomatis me-refresh file di cache, memberi Anda data terbaru. Ketika ukuran cache mencapai batasnya, cache secara otomatis merilis data baca paling sedikit untuk membuat ruang untuk data yang lebih baru. Fitur ini menurunkan total biaya kepemilikan dengan meningkatkan performa hingga 60% pada pembacaan file berikutnya yang disimpan di cache yang tersedia.

Ketika mesin Apache Spark di Microsoft Fabric mengkueri file atau tabel dari lakehouse Anda, mesin tersebut melakukan panggilan ke penyimpanan jarak jauh untuk membaca file yang mendasarinya. Dengan setiap permintaan kueri untuk membaca data yang sama, mesin Spark harus melakukan panggilan ke penyimpanan jarak jauh setiap kali. Proses redundan ini menambahkan latensi ke total waktu pemrosesan Anda. Spark memiliki persyaratan penembolokan yang harus Anda atur dan lepaskan cache secara manual untuk meminimalkan latensi dan meningkatkan performa keseluruhan. Namun, persyaratan ini dapat mengakibatkan data kedaluarsa jika data yang mendasar berubah.

Cache cerdas menyederhanakan proses dengan secara otomatis menyimpan setiap bacaan dalam ruang penyimpanan cache yang dialokasikan pada setiap simpul Spark tempat file data di-cache di SSD. Setiap permintaan untuk pemeriksaan file untuk melihat apakah file ada di cache simpul lokal dan membandingkan tag dari penyimpanan jarak jauh untuk menentukan apakah file kedaluarsa. Jika file tidak ada atau jika file basi, Spark membaca file dan menyimpannya di cache. Ketika cache menjadi penuh, file dengan waktu akses terakhir terlama dikeluarkan dari cache untuk memungkinkan file yang lebih baru.

Cache cerdas adalah cache tunggal per simpul. Jika Anda menggunakan simpul berukuran sedang dan menjalankan dengan dua eksekutor kecil pada simpul tunggal tersebut, kedua eksekutor berbagi cache yang sama. Selain itu, penembolokan tingkat file data ini memungkinkan beberapa kueri untuk menggunakan cache yang sama jika mereka mengakses data atau file data yang sama.

Cara kerjanya

Di Microsoft Fabric (Runtime 1.1 dan 1.2), penembolokan cerdas diaktifkan secara default untuk semua kumpulan Spark untuk semua ruang kerja dengan ukuran cache dengan 50%. Ukuran aktual penyimpanan yang tersedia dan ukuran cache pada setiap simpul tergantung pada keluarga node dan ukuran simpul.

Kapan menggunakan cache cerdas

Fitur ini menguntungkan Anda jika:

  • Beban kerja Anda memerlukan pembacaan file yang sama beberapa kali dan ukuran file cocok dalam cache.

  • Beban kerja Anda menggunakan tabel Delta Lake, Parquet, atau format file CSV.

Anda tidak melihat manfaat cache cerdas jika:

  • Anda membaca file yang melebihi ukuran cache. Jika demikian, awal file dapat dikeluarkan, dan kueri berikutnya harus mengambil ulang data dari penyimpanan jarak jauh. Dalam hal ini, Anda tidak melihat manfaat apa pun dari cache cerdas, dan Anda mungkin ingin meningkatkan ukuran cache dan/atau ukuran node Anda.

  • Beban kerja Anda memerlukan pengacakan dalam jumlah besar. Menonaktifkan cache cerdas membebaskan ruang yang tersedia untuk mencegah pekerjaan Anda gagal karena ruang penyimpanan yang tidak mencukup.

Mengaktifkan dan menonaktifkan cache cerdas

Anda dapat menonaktifkan atau mengaktifkan cache cerdas dalam sesi dengan menjalankan kode berikut di buku catatan Anda atau mengatur konfigurasi ini di tingkat item ruang kerja atau Lingkungan .

spark.conf.set("spark.synapse.vegas.useCache", "false/true")