Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
SynapseML (Synapse Machine Learning) is vooraf geïnstalleerd op Microsoft Fabric. Als u een specifieke versie nodig hebt, kunt u deze overschrijven met behulp van de %%configure magic-opdracht in een Fabric notebook.
Snel starten
| Stap | Action | Tijdsraming |
|---|---|---|
| 1 | Controleer de vereisten (werkruimte, notebook) | 2 min. |
| 2 | Cel toevoegen %%configure om de SynapseML-versie te installeren die u nodig hebt |
1 min. |
| 3 | De geïnstalleerde versie controleren | 1 min. |
Prerequisites
Voordat u begint, moet u ervoor zorgen dat u over de volgende resources beschikt:
| Requirement | Details |
|---|---|
| Microsoft Fabric werkruimte | Een werkruimte met een Fabric-capaciteit (F2 of hoger) of een Fabric-proefversie. |
| Fabric notitieboek | Maak een nieuw notebook in de Fabric Data Science- of Data Engineering-ervaring. |
| Fabric-runtimeversie | Ken de runtimeversie van uw werkruimte. De Versies van SynapseML en Spark Avro JAR moeten overeenkomen met de Spark-versie in uw runtime. Zie Fabric runtimeversies. |
Important
Met %%configure de opdracht wordt de Spark-sessie opnieuw gestart met nieuwe instellingen. Voer deze uit als de eerste cel in uw notebook, voordat u andere code gebruikt. Als u deze uitvoert nadat een Spark-sessie is gestart, dwingt de -f vlag het opnieuw opstarten van de sessie af en gaan alle variabelen en status verloren.
Opmerking
De %%configure magic-opdracht in Fabric notebooks heeft beperkte officiële ondersteuning. Er is geen garantie voor een SLA (Service Level Agreement) of toekomstige compatibiliteit met officiële releases. Voor een ondersteunde benadering kunt u overwegen om Fabric omgevingsaanpassing te gebruiken om bibliotheken te beheren.
Compatibiliteit met SynapseML en Fabric runtime
Kies de SynapseML-versie en Spark Avro JAR die overeenkomen met uw Fabric Runtime Spark-versie:
| Fabric runtime-omgeving | Spark-versie | SynapseML-versie | Spark Avro JAR |
|---|---|---|---|
| Runtime 1.1 | 3.3 | 0.11.1 tot en met 0.11.4 | spark-avro_2.12:3.3.1 |
| Runtime 1.2 | 3.4 | 1.0.4 tot en met 1.0.8 | spark-avro_2.12:3.4.1 |
| Runtime 1.3 | 3.5 | 1.0.4 tot en met 1.0.8 | spark-avro_2.12:3.5.1 |
U vindt beschikbare SynapseML-versies op Maven Central.
SynapseML installeren met %%configure
Met de %%configure -f opdracht configureert u spark-sessie-eigenschappen, inclusief Maven-pakketcoördinaten. De -f vlag dwingt een herstart van de bestaande sessie af.
Voorbeeld voor Fabric Runtime 1.2 (Spark 3.4)
Plak deze code in de eerste cel van een nieuw Fabric notebook en voer de cel uit:
%%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"
}
}
Als u een andere versie wilt installeren, vervangt u de versienummers in spark.jars.packages:
-
synapseml_2.12:<version>: de Gewenste SynapseML-versie (bijvoorbeeld1.0.4). -
spark-avro_2.12:<spark-version>: moet overeenkomen met uw Fabric Runtime Spark-versie (zie de compatibiliteitstabel).
Voorbeeld voor 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"
}
}
De Spark-configuratie controleren
Nadat de cel is uitgevoerd, controleer of de Spark-sessie de configuratie heeft geaccepteerd. Voer deze code uit in een nieuwe cel:
print(spark.conf.get("spark.jars.packages"))
Verwachte uitvoer (voor het voorbeeld runtime 1.2):
com.microsoft.azure:synapseml_2.12:1.0.8,org.apache.spark:spark-avro_2.12:3.4.1
SynapseML-versie controleren
Voer de volgende code uit in een nieuwe cel om de installatie te controleren. Het versienummer moet overeenkomen met de versie die u hebt geïnstalleerd.
import synapse.ml.lightgbm
print(f"SynapseML version: {synapse.ml.lightgbm.__version__}")
Verwachte uitvoer (voor het voorbeeld runtime 1.2):
SynapseML version: 1.0.8
Opmerking
In SynapseML 1.0 en hoger is de synapse.ml.cognitive module afgeschaft. Gebruik synapse.ml.services in plaats daarvan voor toegang tot AI-service-integraties.
Terugkeren naar de standaardversie
Als u wilt terugkeren naar de vooraf geïnstalleerde SynapseML-versie, verwijdert u de %%configure cel en start u de notebooksessie opnieuw:
- Verwijder de
%%configure-cel of plaats deze in commentaar. - Selecteer Sessie>Sessie stoppen op de werkbalk van het notebook.
- Voer een cel uit om een nieuwe sessie te starten met de standaardconfiguratie.
Configuratiegids
Het %%configure blok bevat de volgende Spark-eigenschappen:
| Property | Purpose |
|---|---|
spark.jars.packages |
Maven-coördinaten voor de SynapseML JAR en Spark Avro JAR. |
spark.jars.repositories |
Aanvullende URL van maven-opslagplaats voor SynapseML-artefacten. |
spark.jars.excludes |
Sluit transitieve afhankelijkheden uit die conflicteren met vooraf geïnstalleerde Fabric bibliotheken. |
spark.yarn.user.classpath.first |
Geeft prioriteit aan door de gebruiker geleverde JAR's ten opzichte van vooraf geïnstalleerde. |
spark.sql.parquet.enableVectorizedReader |
Hiermee schakelt u de gevectoriseerde Parquet-lezer uit om compatibiliteitsproblemen te voorkomen. |
spark.sql.legacy.replaceDatabricksSparkAvro.enabled |
Schakelt verouderde Avro-lezercompatibiliteit in. |
Troubleshooting
%%configure cel wordt niet van kracht
Oorzaak: De %%configure cel was niet de eerste cel die moest worden uitgevoerd of er was al een Spark-sessie actief.
Oplossing: Selecteer sessie>stoppen sessie en voer vervolgens eerst de %%configure cel uit.
Het downloaden van een JAR-bestand mislukt of er treedt een time-out op
Oorzaak: De Maven-opslagplaats is onbereikbaar of de versiecoördinaten zijn onjuist.
Oplossing: Controleer of de SynapseML-versie bestaat op Maven Central. Controleer of de spark-avro versie overeenkomt met uw Spark Runtime-versie.
ClassNotFoundException of NoSuchMethodError tijdens de uitvoering
Oorzaak: De SynapseML-versie is niet compatibel met de Fabric Runtime Spark-versie.
Oplossing: Gebruik de compatibiliteitstabel om de juiste versiecombinatie te selecteren.
ImportError: Geen module met de naam 'synapse.ml'
Oorzaak: het SynapseML-pakket Python wrapper is niet geïnstalleerd in de notebookomgeving.
Oplossing: Voer in een nieuwe cel het volgende uit:
%pip install synapseml==1.0.8
Vervang 1.0.8 door de versie die overeenkomt met de JAR die u hebt geïnstalleerd.
Versienummer komt niet overeen met de geïnstalleerde versie
Oorzaak: Het kenmerk Python __version__ komt uit het synapseml pip-pakket, wat kan verschillen van de JAR-versie die door %%configureis geïnstalleerd.
Oplossing: controleer zowel de Spark-configuratie als de pip-pakketversie:
# 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__)
Als de versies niet overeenkomen, installeert u het overeenkomende PIP-pakket:
%pip install synapseml==1.0.8