Installere en annen versjon av SynapseML på Fabric

SynapseML (Synapse Machine Learning) er forhåndsinstallert på Microsoft Fabric. Hvis du trenger en spesifikk versjon, kan du overstyre den ved å bruke magikommandoen %%configure i en Fabric-notatbok.

Hurtigstart

Trinn Aksjon Tidsestimat
1 Verifiser forutsetninger (arbeidsområde, notatbok) 2 min
2 Legg til %%configure cell for å installere SynapseML-versjonen du trenger 1 min
3 Bekreft den installerte versjonen 1 min

Forutsetninger

Før du begynner, sørg for at du har følgende ressurser:

Forutsetninger Detaljer
Microsoft Fabric-arbeidsområde Et arbeidsområde med Fabric-kapasitet (F2 eller høyere) eller en Fabric-prøve.
Fabric notatbok Lag en ny notatbok i Fabric Data Science eller Data Engineering-opplevelsen.
Fabric runtime-versjon Kjenn til arbeidsplassens runtime-versjon. SynapseML- og Spark Avro JAR-versjonene må matche Spark-versjonen i din kjøretid. Se Fabric runtime-versjoner.

Viktig!

Kommandoen %%configure starter Spark-økten på nytt med nye innstillinger. Kjør det som den første cellen i notatboken din, før annen kode. Hvis du kjører det etter at en Spark-økt starter, tvinger flagget -f en økt på nytt og alle variabler og tilstand går tapt.

Obs!

Magikommandoen %%configure i Fabric-notatbøker har begrenset offisiell støtte. Det er ingen garanti for en servicenivåavtale (SLA) eller fremtidig kompatibilitet med offisielle utgivelser. For en støttet tilnærming, vurder å bruke Fabric-miljøtilpasning for å administrere biblioteker.

SynapseML- og Fabric-kjøretidskompatibilitet

Velg SynapseML-versjonen og Spark Avro JAR som matcher din Fabric runtime Spark-versjon:

Fabric kjøretid Spark-versjonen SynapseML-versjon Spark Avro JAR
Kjøretid 1.1 3.3 0.11.1 til 0.11.4 spark-avro_2.12:3.3.1
Kjøretid 1.2 3.4 1.0.4 til 1.0.8 spark-avro_2.12:3.4.1
Kjøretid 1.3 3,5 1.0.4 til 1.0.8 spark-avro_2.12:3.5.1

Du kan finne tilgjengelige SynapseML-versjoner på Maven Central.

Installer SynapseML med %%configure

Kommandoen %%configure -f konfigurerer Spark-sesjonsegenskaper, inkludert Maven-pakkekoordinater. Flagget -f tvinger til å starte den eksisterende sesjonen på nytt.

Eksempel for Fabric Runtime 1.2 (Spark 3.4)

Lim inn denne koden i den første cellen i en ny Fabric-notebook og kjø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 å installere en annen versjon, bytt ut versjonsnumrene i spark.jars.packages:

  • synapseml_2.12:<version>: SynapseML-versjonen du ønsker (for eksempel 1.0.4).
  • spark-avro_2.12:<spark-version>: må matche din Fabric runtime Spark-versjon (se kompatibilitetstabell).

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

Verifiser Spark-konfigurasjonen

Etter at cellen har kjørt, verifiser du at Spark-sesjonen aksepterte konfigurasjonen. Kjør denne koden i en ny celle:

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

Forventet output (for Runtime 1.2-eksempelet):

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

Kontroller SynapseML-versjon

For å verifisere installasjonen, kjør følgende kode i en ny celle. Versjonsnummeret skal samsvare med versjonen du installerte.

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

Forventet output (for Runtime 1.2-eksempelet):

SynapseML version: 1.0.8

Obs!

I SynapseML 1.0 og senere er modulen synapse.ml.cognitive utdatert. Bruk synapse.ml.services i stedet for å få tilgang til AI-tjenesteintegrasjoner.

Gå tilbake til standardversjonen

For å gå tilbake til den forhåndsinstallerte SynapseML-versjonen, fjern cellen %%configure og start notatblokkens økt på nytt:

  1. Slett eller kommenter ut cellen %%configure .
  2. Velg Session>Stop session i notatbokens verktøylinje.
  3. Kjør en hvilken som helst celle for å starte en ny økt med standardkonfigurasjonen.

Konfigurasjonsreferanse

Blokken %%configure inkluderer disse Spark-egenskapene:

Eiendom Formål
spark.jars.packages Maven koordinerer for SynapseML JAR og Spark Avro JAR.
spark.jars.repositories Ekstra Maven-repositori-URL for SynapseML-artefakter.
spark.jars.excludes Ekskluderer transitive avhengigheter som er i konflikt med forhåndsinstallerte Fabric-biblioteker.
spark.yarn.user.classpath.first Prioriterer brukerleverte JAR-er fremfor forhåndsinstallerte.
spark.sql.parquet.enableVectorizedReader Deaktiverer vektorisert Parquet-leser for å unngå kompatibilitetsproblemer.
spark.sql.legacy.replaceDatabricksSparkAvro.enabled Muliggjør kompatibilitet med gamle Avro-lesere.

Feilsøking

%%configure cellen virker ikke

Årsak: Cellen %%configure var ikke den første cellen som startet, eller en Spark-økt var allerede aktiv.

Løsning: Velg Session>Stop Session, og kjør cellen %%configure først.

JAR-nedlasting feiler eller går ut på tid

Årsak: Maven-repositoriet er utilgjengelig, eller versjonskoordinatene er feil.

Løsning: Sjekk at SynapseML-versjonen finnes på Maven Central. Sjekk at versjonen spark-avro matcher din Spark-versjon.

ClassNotFoundException eller NoSuchMethodError under kjøring

Årsak: SynapseML-versjonen er ikke kompatibel med Fabric runtime Spark-versjonen.

Løsning: Bruk kompatibilitetstabellen for å velge riktig versjonskombinasjon.

ImportError: Ingen modul kalt 'synapse.ml'

Årsak: SynapseML Python-wrapper-pakken er ikke installert i notebook-miljøet.

Fiks: I en ny celle, kjør:

%pip install synapseml==1.0.8

Bytt ut 1.0.8 med versjonen som matcher JAR-en du installerte.

Versjonsnummeret stemmer ikke med den installerte versjonen

Årsak: Python-attributtet __version__ kommer fra synapseml pip-pakken, som kan avvike fra JAR-versjonen installert av %%configure.

Løsning: Sjekk både Spark-konfigurasjonen og pip-pakkens versjon:

# 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 versjonene ikke stemmer, installer den matchende pip-pakken:

%pip install synapseml==1.0.8