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.
SynapseML (Synapse Pembelajaran Mesin) telah diinstal sebelumnya pada Microsoft Fabric. Jika Anda memerlukan versi tertentu, Anda dapat mengambil alihnya dengan menggunakan %%configure perintah ajaib di buku catatan Fabric.
Cepat Mulai
| Step | Action | Perkiraan waktu |
|---|---|---|
| 1 | Memverifikasi prasyarat (ruang kerja, buku catatan) | 2 menit |
| 2 | Menambahkan %%configure sel untuk menginstal versi SynapseML yang Anda butuhkan |
1 menit |
| 3 | Memverifikasi versi yang terinstal | 1 menit |
Prerequisites
Sebelum memulai, pastikan Anda memiliki sumber daya berikut:
| Persyaratan | Details |
|---|---|
| ruang kerja Microsoft Fabric | Ruang kerja dengan kapasitas Fabric (F2 atau lebih tinggi) atau versi uji coba Fabric. |
| Buku Catatan Fabric | Buat notebook baru di lingkungan Fabric Data Science atau Data Engineering. |
| versi runtime Fabric | Ketahui versi runtime workspace Anda. Versi JAR SynapseML dan Spark Avro harus cocok dengan versi Spark di runtime Anda. Lihat versi runtime Fabric. |
Important
Perintah %%configure memulai ulang sesi Spark dengan pengaturan baru. Jalankan ini sebagai sel pertama di notebook Anda, sebelum kode lain apa pun. Jika Anda menjalankannya setelah sesi Spark dimulai, -f bendera memaksa mulai ulang sesi dan semua variabel dan status hilang.
Nota
%%configure Perintah ajaib di notebook Fabric memiliki dukungan resmi terbatas. Tidak ada jaminan perjanjian tingkat layanan (SLA) atau kompatibilitas di masa mendatang dengan rilis resmi. Untuk pendekatan yang didukung, pertimbangkan untuk menggunakan kustomisasi lingkungan Fabric untuk mengelola pustaka.
Kompatibilitas runtime SynapseML dan Fabric
Pilih versi SynapseML dan Spark Avro JAR yang cocok dengan versi Spark runtime Fabric Anda:
| runtime Fabric | Versi Spark | Versi SynapseML | Spark Avro JAR |
|---|---|---|---|
| Runtime 1.1 | 3.3 | 0.11.1 hingga 0.11.4 | spark-avro_2.12:3.3.1 |
| Runtime 1.2 | 3.4 | 1.0.4 hingga 1.0.8 | spark-avro_2.12:3.4.1 |
| Runtime 1.3 | 3.5 | 1.0.4 hingga 1.0.8 | spark-avro_2.12:3.5.1 |
Anda dapat menemukan versi SynapseML yang tersedia di Maven Central.
Instal SynapseML dengan %%configure
Perintah %%configure -f mengonfigurasi properti sesi Spark, termasuk koordinat paket Maven. Bendera -f memaksa menghidupkan ulang sesi yang ada.
Contoh untuk Fabric Runtime 1.2 (Spark 3.4)
Tempelkan kode ini ke sel pertama buku catatan Fabric baru dan jalankan sel:
%%configure -f
{
"name": "synapseml",
"conf": {
"spark.jars.packages": "com.microsoft.azure:synapseml_2.12:1.0.8,org.apache.spark:spark-avro_2.12:3.4.1",
"spark.jars.repositories": "https://mmlspark.azureedge.net/maven",
"spark.jars.excludes": "org.scala-lang:scala-reflect,org.apache.spark:spark-tags_2.12,org.scalactic:scalactic_2.12,org.scalatest:scalatest_2.12,com.fasterxml.jackson.core:jackson-databind",
"spark.yarn.user.classpath.first": "true",
"spark.sql.parquet.enableVectorizedReader": "false",
"spark.sql.legacy.replaceDatabricksSparkAvro.enabled": "true"
}
}
Untuk menginstal versi yang berbeda, ganti nomor versi di spark.jars.packages:
-
synapseml_2.12:<version>: versi SynapseML yang Anda inginkan (misalnya,1.0.4). -
spark-avro_2.12:<spark-version>: harus cocok dengan versi Spark runtime Fabric Anda (lihat tabel kompatibilitas).
Contoh untuk Fabric Runtime 1.1 (Spark 3.3)
%%configure -f
{
"name": "synapseml",
"conf": {
"spark.jars.packages": "com.microsoft.azure:synapseml_2.12:0.11.4,org.apache.spark:spark-avro_2.12:3.3.1",
"spark.jars.repositories": "https://mmlspark.azureedge.net/maven",
"spark.jars.excludes": "org.scala-lang:scala-reflect,org.apache.spark:spark-tags_2.12,org.scalactic:scalactic_2.12,org.scalatest:scalatest_2.12,com.fasterxml.jackson.core:jackson-databind",
"spark.yarn.user.classpath.first": "true",
"spark.sql.parquet.enableVectorizedReader": "false",
"spark.sql.legacy.replaceDatabricksSparkAvro.enabled": "true"
}
}
Memverifikasi konfigurasi Spark
Setelah sel berjalan, verifikasi bahwa sesi Spark menerima konfigurasi. Jalankan kode ini di sel baru:
print(spark.conf.get("spark.jars.packages"))
Output yang diharapkan (untuk contoh Runtime 1.2):
com.microsoft.azure:synapseml_2.12:1.0.8,org.apache.spark:spark-avro_2.12:3.4.1
Periksa versi SynapseML
Untuk memverifikasi penginstalan, jalankan kode berikut di sel baru. Nomor versi harus cocok dengan versi yang Anda instal.
import synapse.ml.lightgbm
print(f"SynapseML version: {synapse.ml.lightgbm.__version__}")
Output yang diharapkan (untuk contoh Runtime 1.2):
SynapseML version: 1.0.8
Nota
Di SynapseML 1.0 dan versi yang lebih baru, modul synapse.ml.cognitive sudah usang. Gunakan synapse.ml.services sebagai gantinya untuk mengakses integrasi layanan AI.
Kembali ke versi default
Untuk kembali ke versi SynapseML yang telah diinstal sebelumnya, hapus %%configure sel dan mulai ulang sesi buku catatan:
- Hapus atau jadikan sel
%%configuresebagai komentar. - Pilih Sesi>Hentikan sesi di toolbar buku catatan.
- Jalankan sel apa pun untuk memulai sesi baru dengan konfigurasi default.
Referensi konfigurasi
%%configure Blok ini mencakup properti Spark ini:
| Property | Kegunaan |
|---|---|
spark.jars.packages |
Koordinat Maven untuk JAR SynapseML dan JAR Spark Avro. |
spark.jars.repositories |
URL repositori Maven tambahan untuk artefak SynapseML. |
spark.jars.excludes |
Mengecualikan dependensi transitif yang bertentangan dengan pustaka Fabric yang telah diinstal sebelumnya. |
spark.yarn.user.classpath.first |
Memprioritaskan JAR yang disediakan pengguna daripada yang telah diinstal sebelumnya. |
spark.sql.parquet.enableVectorizedReader |
Menonaktifkan pembaca Parquet vektor untuk menghindari masalah kompatibilitas. |
spark.sql.legacy.replaceDatabricksSparkAvro.enabled |
Mengaktifkan kompatibilitas dengan pembaca Avro lama. |
Troubleshooting
sel %%configure tidak berlaku
Penyebab: Sel %%configure bukan sel pertama yang dijalankan, atau sesi Spark sudah aktif.
Perbaiki: Pilih Sesi>Hentikan sesi, lalu jalankan %%configure sel terlebih dahulu.
Pengunduhan JAR gagal atau waktu habis
Penyebab: Repositori Maven tidak dapat dijangkau, atau koordinat versi salah.
Perbaikan: Verifikasi bahwa versi SynapseML ada di Maven Central. Periksa apakah versi spark-avro cocok dengan versi runtime Spark Anda.
ClassNotFoundException atau NoSuchMethodError saat dijalankan
Penyebab: Versi SynapseML tidak kompatibel dengan versi Spark runtime Fabric.
Perbaikan: Gunakan tabel kompatibilitas untuk memilih kombinasi versi yang benar.
ImportError: Tidak ada modul bernama 'synapse.ml'
Penyebab: Paket pembungkus Python SynapseML tidak diinstal di lingkungan notebook.
Perbaikan: Di sel baru, jalankan:
%pip install synapseml==1.0.8
Ganti 1.0.8 dengan versi yang cocok dengan JAR yang Anda instal.
Nomor versi tidak cocok dengan versi yang diinstal
Penyebab: Atribut Python __version__ berasal dari synapseml paket pip, yang mungkin berbeda dari versi JAR yang diinstal oleh %%configure.
Perbaikan: Verifikasi konfigurasi Spark dan versi paket pip:
# Check the JAR version from Spark config
print("JAR packages:", spark.conf.get("spark.jars.packages"))
# Check the pip package version
import synapse.ml.lightgbm
print("Pip package version:", synapse.ml.lightgbm.__version__)
Jika versi tidak cocok, instal paket pip yang cocok:
%pip install synapseml==1.0.8