Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
SynapseML (Synapse Machine Learning) est préinstallé sur Microsoft Fabric. Si vous avez besoin d’une version spécifique, vous pouvez la remplacer à l’aide de la %%configure commande magic dans un bloc-notes Fabric.
Démarrage rapide
| Étape | Action | Estimation du temps |
|---|---|---|
| 1 | Vérifier les prérequis (espace de travail, bloc-notes) | 2 minutes |
| 2 | Ajouter %%configure une cellule pour installer la version SynapseML dont vous avez besoin |
1 min |
| 3 | Vérifier la version installée | 1 min |
Prerequisites
Avant de commencer, vérifiez que vous disposez des ressources suivantes :
| Prérequis | Details |
|---|---|
| espace de travail Microsoft Fabric | Un espace de travail avec une capacité Fabric (F2 ou supérieure) ou une version d’essai de Fabric. |
| notebook Fabric | Créez un notebook dans l’expérience Fabric Data Science ou Data Engineering. |
| version du runtime Fabric | Connaissez la version du runtime de votre espace de travail. Les versions SynapseML et Spark Avro JAR doivent correspondre à la version Spark dans votre runtime. Consultez les versions du moteur d’exécution Fabric. |
Important
La %%configure commande redémarre la session Spark avec de nouveaux paramètres. Exécutez-le en tant que première cellule de votre bloc-notes, avant tout autre code. Si vous l’exécutez après le démarrage d’une session Spark, l’indicateur -f force un redémarrage de session et toutes les variables et l’état sont perdus.
Note
La %%configure commande magique dans Fabric notebooks a un support officiel limité. Il n’existe aucune garantie d’un contrat de niveau de service (SLA) ou d’une compatibilité future avec les versions officielles. Pour une solution prise en charge, envisagez d’utiliser la personnalisation de l’environnement dans Fabric pour gérer les bibliothèques.
Compatibilité de SynapseML avec le runtime Fabric
Choisissez la version SynapseML et Spark Avro JAR qui correspondent à votre version spark Fabric runtime :
| environnement d’exécution Fabric | Version de Spark | Version de SynapseML | Spark Avro JAR |
|---|---|---|---|
| Runtime 1.1 | 3.3 | 0.11.1 à 0.11.4 | spark-avro_2.12:3.3.1 |
| Runtime 1.2 | 3.4 | 1.0.4 à 1.0.8 | spark-avro_2.12:3.4.1 |
| Runtime 1.3 | 3,5 | 1.0.4 à 1.0.8 | spark-avro_2.12:3.5.1 |
Vous trouverez des versions SynapseML disponibles sur Maven Central.
Installer SynapseML avec %%configure
La %%configure -f commande configure les propriétés de session Spark, y compris les coordonnées du package Maven. L’indicateur -f force un redémarrage de la session existante.
Exemple pour Fabric Runtime 1.2 (Spark 3.4)
Collez ce code dans la première cellule d’un nouveau bloc-notes Fabric et exécutez la cellule :
%%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"
}
}
Pour installer une autre version, remplacez les numéros de version dans spark.jars.packages:
-
synapseml_2.12:<version>: la version SynapseML souhaitée (par exemple).1.0.4 -
spark-avro_2.12:<spark-version>: doit correspondre à votre version Fabric runtime Spark (voir la table de compatibilité).
Exemple pour 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"
}
}
Vérifier la configuration Spark
Une fois la cellule exécutée, vérifiez que la session Spark a accepté la configuration. Exécutez ce code dans une nouvelle cellule :
print(spark.conf.get("spark.jars.packages"))
Sortie attendue (pour l’exemple Runtime 1.2) :
com.microsoft.azure:synapseml_2.12:1.0.8,org.apache.spark:spark-avro_2.12:3.4.1
Vérifier la version de SynapseML
Pour vérifier l’installation, exécutez le code suivant dans une nouvelle cellule. Le numéro de version doit correspondre à la version que vous avez installée.
import synapse.ml.lightgbm
print(f"SynapseML version: {synapse.ml.lightgbm.__version__}")
Sortie attendue (pour l’exemple Runtime 1.2) :
SynapseML version: 1.0.8
Note
Dans SynapseML 1.0 et versions ultérieures, le synapse.ml.cognitive module est déconseillé. Utilisez synapse.ml.services plutôt pour accéder aux intégrations de service IA.
Rétablir la version par défaut
Pour revenir à la version préinstallée de SynapseML, supprimez la %%configure cellule et redémarrez la session de notebook :
- Supprimez ou commentez la
%%configurecellule. - Sélectionnez Session> dans la barre d’outils du bloc-notes.
- Exécutez n’importe quelle cellule pour démarrer une nouvelle session avec la configuration par défaut.
Référence de configuration
Le %%configure bloc inclut ces propriétés Spark :
| Propriété | Purpose |
|---|---|
spark.jars.packages |
Coordonnées Maven pour le fichier JAR de SynapseML et le fichier JAR de Spark Avro. |
spark.jars.repositories |
URL de référentiel Maven supplémentaire pour les artefacts SynapseML. |
spark.jars.excludes |
Exclut les dépendances transitives qui entrent en conflit avec les bibliothèques de Fabric préinstallées. |
spark.yarn.user.classpath.first |
Hiérarchise les JAR fournis par l’utilisateur par rapport à ceux préinstallés. |
spark.sql.parquet.enableVectorizedReader |
Désactive le lecteur Parquet vectorisé pour éviter les problèmes de compatibilité. |
spark.sql.legacy.replaceDatabricksSparkAvro.enabled |
Active la compatibilité avec les anciens lecteurs Avro. |
Troubleshooting
%%configure cellule ne prend pas effet
Cause : la %%configure cellule n’était pas la première cellule à exécuter, ou une session Spark était déjà active.
Correction : Sélectionnez Session>Arrêter la session, puis exécutez d’abord la cellule %%configure.
Échec ou expiration du téléchargement JAR
Cause : Le référentiel Maven est inaccessible ou les coordonnées de version sont incorrectes.
Correctif : Vérifiez que la version synapseML existe sur Maven Central. Vérifiez que la spark-avro version correspond à votre version du runtime Spark.
ClassNotFoundException ou NoSuchMethodError au moment de l’exécution
Cause : La version synapseML n'est pas compatible avec la version Fabric runtime Spark.
Correctif : Utilisez la table de compatibilité pour sélectionner la combinaison de versions correcte.
ImportError : aucun module nommé « synapse.ml »
Cause : Le package wrapper Python SynapseML n'est pas installé dans l'environnement de notebook.
Correctif : Dans une nouvelle cellule, exécutez :
%pip install synapseml==1.0.8
Remplacez 1.0.8 par la version qui correspond au fichier JAR que vous avez installé.
Le numéro de version ne correspond pas à la version installée
Cause : l’attribut __version__ Python provient du synapseml package pip, qui peut différer de la version JAR installée par %%configure.
Correctif : vérifiez à la fois la configuration Spark et la version du package pip :
# 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__)
Si les versions ne correspondent pas, installez le package pip correspondant :
%pip install synapseml==1.0.8