Installera en annan version av SynapseML på Fabric

SynapseML (Synapse strojové učenie) är förinstallerat på Microsoft Fabric. Om du behöver en specifik version kan du skriva över den med hjälp av magic-kommandot %%configure i en Fabric-anteckningsbok.

Snabbstart

Step Action Tidsuppskattning
1 Kontrollera förutsättningarna (arbetsyta, anteckningsbok) 2 min
2 Lägg till %%configure cell för att installera den SynapseML-version som du behöver 1 min
3 Kontrollera den installerade versionen 1 min

Prerequisites

Kontrollera att du har följande resurser innan du börjar:

Krav Details
Microsoft Fabric arbetsyta En arbetsyta med Fabric-kapacitet (F2 eller högre) eller en Fabric-testversion.
Textilanteckningsbok Skapa en ny anteckningsbok i upplevelsen Fabric Data Science eller Data Engineering.
Fabric körningsversion Ta reda på arbetsytans runtime-version. JAR-versionerna för SynapseML och Spark Avro måste överensstämma med Spark-versionen i din körningsmiljö. Se Fabric körningsmiljöversioner.

Important

Kommandot %%configure startar om Spark-sessionen med nya inställningar. Kör den som första cell i din notebook, före all annan kod. Om du kör den när en Spark-session startar -f tvingar flaggan en omstart av sessionen och alla variabler och tillstånd går förlorade.

Anmärkning

%%configure-kommandot i Fabric-notebookar har begränsat officiellt stöd. Det finns ingen garanti för ett serviceavtal (SLA) eller framtida kompatibilitet med officiella versioner. Om du vill använda en metod som stöds bör du överväga att använda miljöanpassning i Fabric för att hantera bibliotek.

SynapseML- och Fabric-körningskompatibilitet

Välj den SynapseML-version och Spark Avro JAR som motsvarar din Spark-körningsversion i Fabric:

Fabric-körmiljö Spark-version SynapseML-version Spark Avro JAR
Körtid 1.1 3.3 0.11.1 till 0.11.4 spark-avro_2.12:3.3.1
Körtid 1.2 3.4 1.0.4 till 1.0.8 spark-avro_2.12:3.4.1
Körtid 1.3 3.5 1.0.4 till 1.0.8 spark-avro_2.12:3.5.1

Du hittar tillgängliga SynapseML-versioner på Maven Central.

Installera SynapseML med %%configure

Kommandot %%configure -f konfigurerar Spark-sessionsegenskaper, inklusive Maven-paketkoordinater. Flaggan -f tvingar fram en omstart av den befintliga sessionen.

Exempel för Fabric Runtime 1.2 (Spark 3.4)

Klistra in den här koden i den första cellen i en ny Fabric notebook-fil och 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"
  }
}

Om du vill installera en annan version ersätter du versionsnumren i spark.jars.packages:

  • synapseml_2.12:<version>: den SynapseML-version som du vill använda (till exempel 1.0.4).
  • spark-avro_2.12:<spark-version>: måste matcha din Fabric Spark-körningsversion (se kompatibilitetstabellen).

Exempel för 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"
  }
}

Verifiera Spark-konfigurationen

När cellen har körts kontrollerar du att Spark-sessionen accepterade konfigurationen. Kör den här koden i en ny cell:

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

Förväntade utdata (för Exemplet Runtime 1.2):

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

Kontrollera SynapseML-versionen

Kontrollera installationen genom att köra följande kod i en ny cell. Versionsnumret ska matcha den version som du har installerat.

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

Förväntade utdata (för Exemplet Runtime 1.2):

SynapseML version: 1.0.8

Anmärkning

I SynapseML 1.0 och senare är modulen synapse.ml.cognitive inaktuell. Använd synapse.ml.services i stället för att komma åt AI-tjänstintegreringar.

Återgå till standardversionen

Om du vill återgå till den förinstallerade SynapseML-versionen tar du bort cellen %%configure och startar om notebook-sessionen:

  1. Ta bort eller kommentera ut cellen %%configure .
  2. Välj Session>Stoppa session i verktygsfältet i notebooken.
  3. Kör valfri cell för att starta en ny session med standardkonfigurationen.

Konfigurationsreferens

Blocket %%configure innehåller följande Spark-egenskaper:

Property Purpose
spark.jars.packages Maven-koordinater för SynapseML JAR och Spark Avro JAR.
spark.jars.repositories Ytterligare URL för Maven-lagringsplats för SynapseML-artefakter.
spark.jars.excludes Exkluderar transitiva beroenden som är i konflikt med förinstallerade Fabric bibliotek.
spark.yarn.user.classpath.first Prioriterar användartilldelade JAR:er framför förinstallerade.
spark.sql.parquet.enableVectorizedReader Inaktiverar vektoriserad Parquet-läsare för att undvika kompatibilitetsproblem.
spark.sql.legacy.replaceDatabricksSparkAvro.enabled Aktiverar äldre Avro-läsarkompatibilitet.

Troubleshooting

%%configure cell får ingen effekt

Orsak: Cellen %%configure var inte den första cellen som kördes, eller så var en Spark-session redan aktiv.

Lösning: Välj Session>Stoppa session och kör sedan %%configure-cellen först.

JAR-nedladdning misslyckas eller överskrider tidsgränsen

Orsak: Maven-lagringsplatsen kan inte nås eller så är versionskoordinaterna felaktiga.

Korrigering: Kontrollera att SynapseML-versionen finns på Maven Central. Kontrollera att spark-avro-versionen överensstämmer med din Spark-körningsversion.

ClassNotFoundException eller NoSuchMethodError under körning

Orsak: SynapseML-versionen är inte kompatibel med Spark-versionen i Fabric Runtime.

Korrigering: Använd kompatibilitetstabellen för att välja rätt versionskombination.

ImportError: Ingen modul med namnet "synapse.ml"

Orsak: SynapseML-Python wrapper-paketet är inte installerat i notebook-miljön.

Korrigering: Kör i en ny cell:

%pip install synapseml==1.0.8

Ersätt 1.0.8 med den version som matchar den JAR-fil som du har installerat.

Versionsnumret matchar inte den installerade versionen

Orsak: attributet Python __version__ kommer från synapseml pip-paketet, som kan skilja sig från JAR-versionen som har installerats av %%configure.

Åtgärda: Kontrollera både Spark-konfigurationen och pip-paketversionen:

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

Om versionerna inte matchar installerar du det matchande pip-paketet:

%pip install synapseml==1.0.8