Installér en anden version af SynapseML på Fabric

SynapseML (Synapse Machine Learning) er forudinstalleret på Microsoft Fabric. Hvis du har brug for en specifik version, kan du tilsidesætte den ved at bruge magi-kommandoen %%configure i en Fabric-notesbog.

Hurtig start

Trin Aktion Tidsestimat
1 Verificér forudsætninger (arbejdsområde, notesbog) 2 min
2 Tilføj %%configure cell for at installere den SynapseML-version, du har brug for 1 min
3 Tjek den installerede version 1 min

Forudsætninger

Før du begynder, skal du sikre dig, at du har følgende ressourcer:

Krav Oplysninger
Microsoft Fabric arbejdsområde Et arbejdsområde med en Fabric-kapacitet (F2 eller højere) eller en Fabric trial.
Fabric notesbog Opret en ny notebook i Fabric Data Science eller Data Engineering-oplevelsen.
Fabric runtime-version Kend din workspace-runtime-version. SynapseML- og Spark Avro JAR-versionerne skal matche Spark-versionen i din runtime. Se Fabric runtime-versioner.

Vigtige oplysninger

Kommandoen %%configure genstarter Spark-sessionen med nye indstillinger. Kør det som den første celle i din notesbog, før anden kode. Hvis du kører det efter en Spark-session starter, tvinger flaget -f en session til at genstarte, og alle variabler og tilstand går tabt.

Bemærk!

Magikommandoen %%configure i Fabric-notesbøger har begrænset officiel support. Der er ingen garanti for en service-level agreement (SLA) eller fremtidig kompatibilitet med officielle udgivelser. For en understøttet tilgang kan du overveje at bruge Fabric-miljøtilpasning til at administrere biblioteker.

SynapseML og Fabric runtime-kompatibilitet

Vælg SynapseML-versionen og Spark Avro JAR, der matcher din Fabric runtime Spark-version:

Fabric kørselstid Spark-versionen SynapseML-versionen Spark Avro JAR
Spilletid 1.1 3.3 0.11.1 til 0.11.4 spark-avro_2.12:3.3.1
Spilletid 1.2 3.4 1.0.4 til 1.0.8 spark-avro_2.12:3.4.1
Spilletid 1.3 3,5 1.0.4 til 1.0.8 spark-avro_2.12:3.5.1

Du kan finde tilgængelige SynapseML-versioner på Maven Central.

Installér SynapseML med %%configure

Kommandoen %%configure -f konfigurerer Spark-sessionsegenskaber, inklusive Maven-pakkekoordinater. Flaget -f tvinger en genstart af den eksisterende session.

Eksempel for Fabric Runtime 1.2 (Spark 3.4)

Indsæt denne kode i den første celle i en ny Fabric-notebook og kør cellen:

%%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"
  }
}

For at installere en anden version, erstatte versionsnumrene i spark.jars.packages:

  • synapseml_2.12:<version>: den SynapseML-version, du ønsker (for eksempel, 1.0.4).
  • spark-avro_2.12:<spark-version>: skal matche din Fabric runtime Spark-version (se kompatibilitetstabel).

Eksempel for 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"
  }
}

Verificér Spark-konfigurationen

Efter cellen kører, skal du verificere at Spark-sessionen har accepteret konfigurationen. Kør denne kode i en ny celle:

print(spark.conf.get("spark.jars.packages"))

Forventet output (for Runtime 1.2-eksemplet):

com.microsoft.azure:synapseml_2.12:1.0.8,org.apache.spark:spark-avro_2.12:3.4.1

Kontrollér SynapseML-version

For at verificere installationen skal følgende kode køres i en ny celle. Versionsnummeret bør matche den version, du har installeret.

import synapse.ml.lightgbm
print(f"SynapseML version: {synapse.ml.lightgbm.__version__}")

Forventet output (for Runtime 1.2-eksemplet):

SynapseML version: 1.0.8

Bemærk!

I SynapseML 1.0 og senere synapse.ml.cognitive er modulet forældet. synapse.ml.services Brug i stedet til at få adgang til AI-serviceintegrationer.

Gå tilbage til standardversionen

For at vende tilbage til den forudinstallerede SynapseML-version, fjern cellen %%configure og genstart notesbogssessionen:

  1. Slet eller kommenter ud af %%configure cellen.
  2. Vælg Session>Stop session i notesbogens værktøjslinje.
  3. Kør en hvilken som helst celle for at starte en ny session med standardkonfigurationen.

Konfigurationsreference

Blokken %%configure indeholder disse Spark-egenskaber:

Egenskab Formål
spark.jars.packages Maven koordinerer for SynapseML JAR og Spark Avro JAR.
spark.jars.repositories Yderligere Maven-repository-URL til SynapseML-artefakter.
spark.jars.excludes Udelukker transitive afhængigheder, der er i konflikt med forudinstallerede Fabric-biblioteker.
spark.yarn.user.classpath.first Prioriterer brugerleverede JAR'er frem for forudinstallerede.
spark.sql.parquet.enableVectorizedReader Deaktiverer vektoriseret Parquet-læser for at undgå kompatibilitetsproblemer.
spark.sql.legacy.replaceDatabricksSparkAvro.enabled Muliggør kompatibilitet med ældre Avro-læsere.

Fejlfinding

%%configure celle virker ikke

Årsag: Cellen %%configure var ikke den første celle, der kørte, eller også var en Spark-session allerede aktiv.

Løsning: Vælg Session>Stop session, og kør derefter cellen %%configure først.

JAR-download fejler eller går ud på tid

Årsag: Maven-repositoriet er utilgængeligt, eller versionskoordinaterne er forkerte.

Løsning: Tjek at SynapseML-versionen findes på Maven Central. Tjek at versionen matcher spark-avro din Spark-runtime-version.

ClassNotFoundException eller NoSuchMethodError ved kørsel

Årsag: SynapseML-versionen er ikke kompatibel med Fabric runtime Spark-versionen.

Løsning: Brug kompatibilitetstabellen til at vælge den korrekte versionskombination.

ImportError: Intet modul med navnet 'synapse.ml'

Årsag: SynapseML Python-wrapper-pakken er ikke installeret i notebook-miljøet.

Løsning: I en ny celle, kør:

%pip install synapseml==1.0.8

Erstat 1.0.8 med den version, der matcher den JAR, du har installeret.

Versionsnummeret matcher ikke den installerede version

Årsag: Python-attributten __version__ kommer fra synapseml pip-pakken, som kan adskille sig fra JAR-versionen installeret af %%configure.

Løsning: Verificér både Spark-konfigurationen og pip-pakkens version:

# 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__)

Hvis versionerne ikke matcher, installer den matchende pip-pakke:

%pip install synapseml==1.0.8