Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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 exempel1.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:
- Ta bort eller kommentera ut cellen
%%configure. - Välj Session>Stoppa session i verktygsfältet i notebooken.
- 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