Σημείωμα
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Το SynapseML (Synapse Εκμάθηση μηχανής) είναι προεγκατεστημένο στο Microsoft Fabric. Εάν χρειάζεστε μια συγκεκριμένη έκδοση, μπορείτε να την παρακάμψετε χρησιμοποιώντας τη %%configure μαγική εντολή σε ένα σημειωματάριο Fabric.
Γρήγορη εκκίνηση
| Βήμα | Δράση | Εκτίμηση χρόνου |
|---|---|---|
| 1 | Επαλήθευση προϋποθέσεων (χώρος εργασίας, σημειωματάριο) | 2 λεπ. |
| 2 | Προσθέστε %%configure κελί για να εγκαταστήσετε την έκδοση SynapseML που χρειάζεστε |
1 λεπ |
| 3 | Επαληθεύστε την εγκατεστημένη έκδοση | 1 λεπ |
Prerequisites
Πριν ξεκινήσετε, βεβαιωθείτε ότι έχετε τους ακόλουθους πόρους:
| Απαίτηση | Λεπτομέρειες |
|---|---|
| Χώρος εργασίας Microsoft Fabric | Ένας χώρος εργασίας με χωρητικότητα Fabric (F2 ή μεγαλύτερη) ή μια δοκιμαστική έκδοση Fabric. |
| Fabric σημειωματάριο | Δημιουργήστε ένα νέο σημειωματάριο στην εμπειρία Fabric Data Science ή Data Engineering. |
| Έκδοση χρόνου εκτέλεσης Fabric | Γνωρίστε την έκδοση χρόνου εκτέλεσης του χώρου εργασίας σας. Οι εκδόσεις SynapseML και Spark Avro JAR πρέπει να ταιριάζουν με την έκδοση Spark στο χρόνο εκτέλεσης. Δείτε τις εκδόσεις χρόνου εκτέλεσης Fabric. |
Σημαντικό
Η %%configure εντολή επανεκκινεί την περίοδο λειτουργίας Spark με νέες ρυθμίσεις. Εκτελέστε το ως το πρώτο κελί στο σημειωματάριό σας, πριν από οποιονδήποτε άλλο κώδικα. Εάν το εκτελέσετε μετά την έναρξη μιας περιόδου λειτουργίας Spark, η σημαία επιβάλλει την επανεκκίνηση της -f περιόδου λειτουργίας και όλες οι μεταβλητές και η κατάσταση χάνονται.
Σημείωση
Η %%configure μαγική εντολή στα σημειωματάρια Fabric έχει περιορισμένη επίσημη υποστήριξη. Δεν υπάρχει καμία εγγύηση για συμφωνία παροχής υπηρεσιών (SLA) ή μελλοντική συμβατότητα με επίσημες εκδόσεις. Για μια υποστηριζόμενη προσέγγιση, εξετάστε το ενδεχόμενο να χρησιμοποιήσετε την προσαρμογή περιβάλλοντος Fabric για τη διαχείριση βιβλιοθηκών.
Συμβατότητα χρόνου εκτέλεσης SynapseML και Fabric
Επιλέξτε την έκδοση SynapseML και το Spark Avro JAR που ταιριάζουν με την έκδοση Spark χρόνου εκτέλεσης Fabric:
| Fabric runtime | Έκδοση Spark | Έκδοση SynapseML | Σπινθήρας Avro JAR |
|---|---|---|---|
| Χρόνος εκτέλεσης 1.1 | 3.3 | 0.11.1 έως 0.11.4 | spark-avro_2.12:3.3.1 |
| Χρόνος εκτέλεσης: 1.2 | 3.4 | 1.0.4 έως 1.0.8 | spark-avro_2.12:3.4.1 |
| Χρόνος εκτέλεσης: 1.3 | 3,5 | 1.0.4 έως 1.0.8 | spark-avro_2.12:3.5.1 |
Μπορείτε να βρείτε διαθέσιμες εκδόσεις SynapseML στο Maven Central.
Εγκατάσταση του SynapseML με %%configure
Η %%configure -f εντολή ρυθμίζει τις παραμέτρους των ιδιοτήτων της περιόδου λειτουργίας Spark, συμπεριλαμβανομένων των συντεταγμένων του πακέτου Maven. Η -f σημαία επιβάλλει την επανεκκίνηση της υπάρχουσας συνεδρίας.
Παράδειγμα για το Fabric Runtime 1.2 (Spark 3.4)
Επικολλήστε αυτόν τον κώδικα στο πρώτο κελί ενός νέου σημειωματαρίου Fabric και εκτελέστε το κελί:
%%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"
}
}
Για να εγκαταστήσετε μια διαφορετική έκδοση, αντικαταστήστε τους αριθμούς έκδοσης στο spark.jars.packages:
-
synapseml_2.12:<version>: την έκδοση SynapseML που θέλετε (για παράδειγμα,1.0.4). -
spark-avro_2.12:<spark-version>: πρέπει να ταιριάζει με την έκδοση Spark χρόνου εκτέλεσης Fabric (βλ. πίνακα συμβατότητας).
Παράδειγμα για το 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"
}
}
Επαληθεύστε τη ρύθμιση παραμέτρων του Spark
Μετά την εκτέλεση του κελιού, βεβαιωθείτε ότι η περίοδος λειτουργίας Spark αποδέχτηκε τη ρύθμιση παραμέτρων. Εκτελέστε αυτόν τον κώδικα σε ένα νέο κελί:
print(spark.conf.get("spark.jars.packages"))
Αναμενόμενη έξοδος (για το παράδειγμα Runtime 1.2):
com.microsoft.azure:synapseml_2.12:1.0.8,org.apache.spark:spark-avro_2.12:3.4.1
Έλεγχος έκδοσης SynapseML
Για να επαληθεύσετε την εγκατάσταση, εκτελέστε τον ακόλουθο κώδικα σε ένα νέο κελί. Ο αριθμός έκδοσης πρέπει να ταιριάζει με την έκδοση που εγκαταστήσατε.
import synapse.ml.lightgbm
print(f"SynapseML version: {synapse.ml.lightgbm.__version__}")
Αναμενόμενη έξοδος (για το παράδειγμα Runtime 1.2):
SynapseML version: 1.0.8
Σημείωση
Στο SynapseML 1.0 και νεότερες εκδόσεις, η synapse.ml.cognitive λειτουργική μονάδα έχει καταργηθεί. Χρησιμοποιήστε synapse.ml.services το για να αποκτήσετε πρόσβαση σε ενσωματώσεις υπηρεσιών AI.
Επαναφορά στην προεπιλεγμένη έκδοση
Για να επιστρέψετε στην προεγκατεστημένη έκδοση SynapseML, καταργήστε το %%configure κελί και επανεκκινήστε την περίοδο λειτουργίας του σημειωματαρίου:
- Διαγράψτε ή σχολιάστε το
%%configureκελί. - Επιλέξτε Διακοπή περιόδου λειτουργίας> στη γραμμή εργαλείων του σημειωματαρίου.
- Εκτελέστε οποιοδήποτε κελί για να ξεκινήσετε μια νέα συνεδρία με τις προεπιλεγμένες ρυθμίσεις.
Αναφορά ρύθμισης παραμέτρων
Το %%configure μπλοκ περιλαμβάνει αυτές τις ιδιότητες Spark:
| Ιδιοκτησία | Σκοπός |
|---|---|
spark.jars.packages |
Ο Maven συντονίζει για το SynapseML JAR και το Spark Avro JAR. |
spark.jars.repositories |
Πρόσθετη διεύθυνση URL αποθετηρίου Maven για τεχνουργήματα SynapseML. |
spark.jars.excludes |
Εξαιρούνται οι μεταβατικές εξαρτήσεις που έρχονται σε διένεξη με προεγκατεστημένες βιβλιοθήκες Fabric. |
spark.yarn.user.classpath.first |
Δίνει προτεραιότητα στα JAR που παρέχονται από το χρήστη έναντι των προεγκατεστημένων. |
spark.sql.parquet.enableVectorizedReader |
Απενεργοποιεί τον διανυσματικό αναγνώστη παρκέ για την αποφυγή προβλημάτων συμβατότητας. |
spark.sql.legacy.replaceDatabricksSparkAvro.enabled |
Ενεργοποιεί τη συμβατότητα παλαιού τύπου αναγνώστη Avro. |
Αντιμετώπιση προβλημάτων
%%configure κύτταρο δεν τίθεται σε ισχύ
Αιτία: Το %%configure κελί δεν ήταν το πρώτο κελί που εκτελέστηκε ή μια περίοδος λειτουργίας Spark ήταν ήδη ενεργή.
Διόρθωση: Επιλέξτε Διακοπή περιόδου λειτουργίας> και, στη συνέχεια, εκτελέστε πρώτα το%%configure κελί.
Η λήψη του JAR αποτυγχάνει ή λήγει το χρονικό όριο
Αιτία: Δεν είναι δυνατή η πρόσβαση στο αποθετήριο Maven ή οι συντεταγμένες έκδοσης είναι λανθασμένες.
Διόρθωση: Βεβαιωθείτε ότι η έκδοση SynapseML υπάρχει στο Maven Central. Βεβαιωθείτε ότι η έκδοση ταιριάζει με την spark-avro έκδοση χρόνου εκτέλεσης Spark.
ClassNotFoundException ή NoSuchMethodError κατά το χρόνο εκτέλεσης
Αιτία: Η έκδοση SynapseML δεν είναι συμβατή με την έκδοση Spark χρόνου εκτέλεσης Fabric.
Διόρθωση: Χρησιμοποιήστε τον πίνακα συμβατότητας για να επιλέξετε τον σωστό συνδυασμό εκδόσεων.
ImportError: Δεν υπάρχει λειτουργική μονάδα με το όνομα 'synapse.ml'
Αιτία: Το πακέτο περιτυλίγματος SynapseML Python δεν είναι εγκατεστημένο στο περιβάλλον σημειωματαρίου.
Διόρθωση: Σε ένα νέο κελί, εκτελέστε:
%pip install synapseml==1.0.8
Αντικαταστήστε 1.0.8 με την έκδοση που ταιριάζει με το JAR που εγκαταστήσατε.
Ο αριθμός έκδοσης δεν αντιστοιχεί στην εγκατεστημένη έκδοση
Αιτία: Το χαρακτηριστικό Python __version__ προέρχεται από το πακέτο pip, το synapseml οποίο μπορεί να διαφέρει από την έκδοση JAR που έχει εγκατασταθεί από %%configureτο .
Διόρθωση: Επαληθεύστε τόσο τη διαμόρφωση Spark όσο και την έκδοση του πακέτου 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__)
Εάν οι εκδόσεις δεν ταιριάζουν, εγκαταστήστε το αντίστοιχο πακέτο pip:
%pip install synapseml==1.0.8