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.
Autotune secara otomatis menyesuaikan konfigurasi Apache Spark untuk mengurangi waktu eksekusi beban kerja dan meningkatkan performa. Ini membantu Anda menghindari penyetelan manual, yang biasanya memerlukan percobaan dan kesalahan berulang. Autotune menggunakan data eksekusi historis dari beban kerja Anda untuk secara berulang menemukan dan menerapkan pengaturan yang efektif untuk setiap beban kerja.
Catatan
Penyetelan kueri penyetelan otomatis di Microsoft Fabric saat ini dalam pratinjau. Ini tersedia di semua wilayah produksi, tetapi dinonaktifkan secara default. Aktifkan dalam konfigurasi lingkungan Spark, atau untuk satu sesi di buku catatan atau kode Definisi Job Spark.
Default dan persyaratan konfigurasi
- Perilaku default: Autotune nonaktif secara default.
- Tidak ada pengaturan yang diperlukan saat nonaktif: Jika Anda tidak mengaktifkan penyetelan otomatis, Spark menggunakan perilaku konfigurasi standarnya.
-
Penyiapan yang diperlukan untuk menggunakan penyetelan otomatis: Atur
spark.ms.autotune.enabled=true:- Pada tingkat lingkungan, sehingga semua notebook dan pekerjaan yang menggunakan lingkungan tersebut mewarisi pengaturannya. Lihat Mengaktifkan penyetelan otomatis.
- Dalam satu buku catatan atau sesi Definisi Pekerjaan Spark saja. Lihat Mengaktifkan penyetelan otomatis untuk satu sesi.
Penyetelan kueri
Autotune menyetel ketiga pengaturan Apache Spark ini untuk setiap kueri:
-
spark.sql.shuffle.partitions: Mengatur jumlah partisi untuk pengacakan data selama gabungan atau agregasi. Defaultnya adalah200. -
spark.sql.autoBroadcastJoinThreshold: Mengatur ukuran maksimum tabel, dalam byte, yang akan disiarkan ke node pekerja selama join. Defaultnya adalah10 MB. -
spark.sql.files.maxPartitionBytes: Mengatur byte maksimum untuk dikemas ke dalam satu partisi saat membaca file. Berlaku untuk sumber file Parquet, JSON, dan ORC. Defaultnya adalah128 MB.
Penyetelan kueri autotune memeriksa setiap kueri dan membangun model pembelajaran mesin terpisah untuk kueri tersebut. Ini berfungsi paling baik untuk:
- Kueri berulang
- Kueri yang berjalan lama (lebih dari 15 detik)
- Kueri Apache Spark SQL API (bukan API RDD)
Anda dapat menggunakan autotune dengan notebook, Spark Job Definitions, dan pipeline. Keuntungan bervariasi menurut kompleksitas kueri dan bentuk data. Dalam pengujian, keuntungan terbesar muncul dalam pola analisis data eksploratif seperti baca, gabungan, agregasi, dan pengurutan.
Cara kerja autotune
Autotune menggunakan perulangan pengoptimalan berulang:
- Mulai dari nilai konfigurasi Spark default.
- Hasilkan konfigurasi kandidat di sekitar garis besar (sentroid).
- Prediksi kandidat terbaik dengan menggunakan model yang dilatih pada eksekusi sebelumnya.
- Terapkan kandidat dan jalankan kueri.
- Masukkan hasil pelaksanaan kembali ke model.
Seiring waktu, garis besar bergeser ke pengaturan yang lebih baik sambil mengurangi risiko regresi. Menggunakan semua titik data yang dikumpulkan juga membantu mengurangi efek anomali.
Aktifkan penyetelan otomatis
Autotune tersedia di semua wilayah produksi, tetapi dinonaktifkan secara default. Untuk mengaktifkannya di tingkat lingkungan, atur properti spark.ms.autotune.enabled=true Spark di lingkungan baru atau yang sudah ada. Semua buku catatan dan tugas yang menggunakan lingkungan tersebut mewarisi pengaturannya.
Autotune mencakup deteksi regresi bawaan. Misalnya, jika kueri memproses data dalam jumlah besar yang tidak biasa, autotune dapat secara otomatis melewati penyetelan untuk eksekusi tersebut. Dalam banyak skenario, autotune membutuhkan sekitar 20 hingga 25 iterasi untuk mencapai pengaturan yang kuat.
Catatan
Autotune kompatibel dengan Runtime 1.2. Anda tidak dapat mengaktifkannya pada versi runtime yang lebih baru dari 1.2. Ini tidak berjalan ketika mode konkurensi tinggi atau titik akhir privat diaktifkan. Autotune berfungsi dengan penskalaan otomatis dalam konfigurasi penskalaan otomatis apa pun.
Anda juga dapat mengaktifkan penyetelan otomatis untuk satu sesi dengan mengatur properti Spark di notebook atau Definisi Pekerjaan Spark Anda.
Aktifkan penyetelan otomatis untuk satu sesi
%%sql
SET spark.ms.autotune.enabled=TRUE
Nonaktifkan penyetelan otomatis untuk satu sesi
Untuk menonaktifkan 'autotune' di Notebook atau Definisi Pekerjaan Spark, jalankan salah satu perintah berikut sebagai sel pertama atau baris pertama kode.
%%sql
SET spark.ms.autotune.enabled=FALSE
Studi kasus
Saat Anda menjalankan kueri Apache Spark, autotune menyusun model untuk bentuk kueri tersebut dan mempelajari pengaturan terbaik dari waktu ke waktu. Misalnya, mulailah dengan kueri filter ini:
%%pyspark
df.filter(df.country == "country-A")
Autotune belajar dari proses ini. Jika nanti Anda hanya mengubah nilai filter, bentuk kueri tetap serupa:
%%pyspark
df.filter(df.country == "country-B")
Autotune dapat menggunakan kembali pembelajaran sebelumnya untuk pola kueri serupa ini, yang membantu mempertahankan performa tanpa penyetelan ulang manual.
Log
Untuk setiap kueri, autotune menghitung nilai yang direkomendasikan untuk tiga konfigurasi Spark yang didukung. Untuk memeriksa rekomendasi, periksa log driver untuk entri yang dimulai dengan [Autotune].
Status log umum meliputi:
| Keadaan | Deskripsi |
|---|---|
AUTOTUNE_DISABLED |
Dilewati. Autotune dinonaktifkan, sehingga pengumpulan dan pengoptimalan telemetri tidak diterapkan. |
QUERY_TUNING_DISABLED |
Dilewati. Penyetelan kueri dinonaktifkan. |
QUERY_PATTERN_NOT_MATCH |
Dilewati. Pola kueri tidak cocok dengan jenis kueri baca-saja yang didukung. |
QUERY_DURATION_TOO_SHORT |
Dilewati. Kueri berjalan kurang dari 15 detik, terlalu singkat untuk penyetelan efektif. |
QUERY_TUNING_SUCCEED |
Sukses. Penyetelan kueri selesai dan pengaturan Spark yang dioptimalkan diterapkan. |
Catatan transparansi
Selaras dengan Standar AI Yang Bertanggung Jawab, bagian ini menjelaskan bagaimana autotune digunakan dan divalidasi.
Tujuan penyetelan otomatis
Autotune dirancang untuk meningkatkan efisiensi beban kerja Apache Spark bagi profesional data. Hal itu:
- Menyetel konfigurasi Apache Spark secara otomatis untuk mengurangi waktu eksekusi.
- Mengurangi upaya penyetelan manual.
- Menggunakan data beban kerja historis untuk menyempurnakan pilihan konfigurasi secara berulang.
Validasi autotune
Autotune menjalani validasi ekstensif untuk membantu memastikan efektivitas dan keamanan:
- Menggunakan pengujian ketat di berbagai beban kerja Spark untuk memverifikasi efektivitas algoritma penyetelan.
- Tolok ukur terhadap metode pengoptimalan Spark standar untuk menunjukkan manfaat performa.
- Termasuk studi kasus dunia nyata untuk menunjukkan nilai praktis.
- Mengikuti standar keamanan dan privasi yang ketat untuk melindungi data pengguna.
Data pengguna secara eksklusif digunakan untuk meningkatkan performa beban kerja Anda, dengan perlindungan yang kuat untuk mencegah penyalahgunaan atau paparan informasi sensitif.
Konten terkait
- Batasan Konkuren dan Antrean di Apache Spark untuk Microsoft Fabric
- komputasi Apache Spark dalam Microsoft Fabric