Ανάπτυξη, εκτέλεση και διαχείριση σημειωματάριων Microsoft Fabric
Ένα σημειωματάριο Microsoft Fabric είναι ένα κύριο στοιχείο κώδικα για την ανάπτυξη εργασιών Apache Spark και πειραμάτων εκμάθησης μηχανής. Είναι μια διαδραστική επιφάνεια που βασίζεται στο web και χρησιμοποιείται από επιστήμονες δεδομένων και μηχανικούς δεδομένων για τη σύνταξη κώδικα που επωφελείται από πλούσιες απεικονίσεις και κείμενο Markdown. Αυτό το άρθρο εξηγεί πώς μπορείτε να αναπτύξετε σημειωματάρια με λειτουργίες κελιών κώδικα και να τα εκτελέσετε.
Ανάπτυξη σημειωματάριων
Τα σημειωματάρια αποτελούνται από κελιά, τα οποία είναι μεμονωμένα μπλοκ κώδικα ή κειμένου που μπορούν να εκτελεστούν ανεξάρτητα ή ως ομάδα.
Παρέχουμε εμπλουτισμένες λειτουργίες για την ανάπτυξη σημειωματάριων:
- Προσθήκη κελιού
- Ορισμός κύριας γλώσσας
- Χρήση πολλών γλωσσών
- IntelliSense στυλ IDE
- Τμήματα κώδικα
- Μεταφορά και απόθεση για εισαγωγή τμημάτων κώδικα
- Μεταφορά και απόθεση για εισαγωγή εικόνων
- Μορφοποίηση κελιού κειμένου με κουμπιά γραμμής εργαλείων
- Αναίρεση ή επανάληψη λειτουργίας κελιού
- Μετακίνηση κελιού
- Διαγραφή κελιού
- Σύμπτυξη εισόδου κελιού
- Σύμπτυξη εξόδου κελιού
- Ασφάλεια εξόδου κελιού
- Κλείδωμα ή πάγωμα ενός κελιού
- Περιεχόμενα σημειωματάριου
- Αναδίπλωση Markdown
- Εύρεση και αντικατάσταση
Προσθήκη κελιού
Υπάρχουν πολλοί τρόποι για να προσθέσετε ένα νέο κελί στο σημειωματάριό σας.
Τοποθετήστε τον δείκτη επάνω στο διάστημα μεταξύ δύο κελιών και επιλέξτε Κώδικας ή Markdown.
Χρησιμοποιήστε τα κλειδιά συντόμευσης σε λειτουργία εντολής. Πατήστε το A για να εισαγάγετε ένα κελί πάνω από το τρέχον κελί. Πατήστε το B για να εισαγάγετε ένα κελί κάτω από το τρέχον κελί.
Ορισμός κύριας γλώσσας
Τα σημειωματάρια Fabric υποστηρίζουν αυτήν τη στιγμή τέσσερις γλώσσες Apache Spark:
- PySpark (Python)
- Spark (Scala)
- Spark SQL
- SparkR
Μπορείτε να ορίσετε την κύρια γλώσσα για τα νέα κελιά που έχουν προστεθεί από την αναπτυσσόμενη λίστα στην επάνω γραμμή εντολών.
Χρήση πολλών γλωσσών
Μπορείτε να χρησιμοποιήσετε πολλές γλώσσες σε ένα σημειωματάριο καθορίζοντας την εντολή μαγείας γλώσσας στην αρχή ενός κελιού. Μπορείτε επίσης να αλλάξετε τη γλώσσα των κελιών από τον επιλογέα γλώσσας. Ο παρακάτω πίνακας παραθέτει τις μαγικές εντολές για την αλλαγή γλωσσών κελιών.
Μαγική εντολή | Γλώσσα | Περιγραφή |
---|---|---|
%%pyspark | Python | Εκτελέστε ένα ερώτημα Python σε σχέση με το περιβάλλον Apache Spark. |
%%spark | Scala | Εκτελέστε ένα ερώτημα Scala στο περιβάλλον Apache Spark. |
%%sql | SparkSQL | Εκτελέστε ένα ερώτημα SparkSQL στο περιβάλλον Apache Spark. |
%%html | Html | Εκτελέστε ένα ερώτημα HTML σε σχέση με το περιβάλλον Apache Spark. |
%%sparkr | R | Εκτελέστε ένα ερώτημα R στο περιβάλλον Apache Spark. |
IntelliSense στυλ IDE
Τα σημειωματάρια Fabric ενοποιούνται με το πρόγραμμα επεξεργασίας του Μονακό για να μεταφέρουν το IntelliSense στυλ IDE στο πρόγραμμα επεξεργασίας κελιών. Η επισήμανση σύνταξης, ο δείκτης σφαλμάτων και οι αυτόματες ολοκληρώσεις κώδικα σάς βοηθούν να γράφετε γρήγορα κώδικα και να εντοπίζετε προβλήματα.
Οι δυνατότητες του IntelliSense βρίσκονται σε διαφορετικά επίπεδα ωριμότητας για διαφορετικές γλώσσες. Ο παρακάτω πίνακας εμφανίζει αυτό που υποστηρίζει το Fabric:
Γλώσσες | Επισήμανση σύνταξης | Δείκτης σφάλματος σύνταξης | Ολοκλήρωση κώδικα σύνταξης | Ολοκλήρωση κώδικα μεταβλητής | Ολοκλήρωση κωδικού συνάρτησης συστήματος | Ολοκλήρωση κωδικού συνάρτησης χρήστη | Έξυπνη εσοχή | Αναδίπλωση κώδικα |
---|---|---|---|---|---|---|---|---|
PySpark (Python) | Όχι | Όχι | Όχι | Όχι | Όχι | Όχι | Όχι | Όχι |
Spark (Scala) | Όχι | Όχι | Όχι | Όχι | Όχι | Όχι | Όχι | Όχι |
SparkSQL | Όχι | Όχι | Όχι | Όχι | Όχι | όχι | Όχι | Όχι |
SparkR | Όχι | Όχι | Όχι | Όχι | Όχι | Όχι | Όχι | Όχι |
Σημείωση
Πρέπει να έχετε μια ενεργή περίοδο λειτουργίας Apache Spark για να χρησιμοποιήσετε την ολοκλήρωση κώδικα IntelliSense.
Τμήματα κώδικα
Τα σημειωματάρια Fabric παρέχουν τμήματα κώδικα που σας βοηθούν να γράφετε εύκολα μοτίβα κώδικα που χρησιμοποιούνται συχνά, όπως:
- Ανάγνωση δεδομένων ως dataFrame Apache Spark
- Σχεδίαση γραφημάτων με Matplotlib
Τα τμήματα κώδικα εμφανίζονται στα κλειδιά συντόμευσης του στυλ IDE IntelliSense αναμεμειγμένα με άλλες προτάσεις. Τα περιεχόμενα τμήματος κώδικα ευθυγραμμίζονται με τη γλώσσα των κελιών κώδικα. Μπορείτε να δείτε τα διαθέσιμα τμήματα κώδικα πληκτρολογώντας "Απόσπασμα". Μπορείτε επίσης να πληκτρολογήσετε οποιαδήποτε λέξη-κλειδί για να δείτε μια λίστα με τα σχετικά τμήματα κώδικα. Για παράδειγμα, εάν πληκτρολογήσετε read, θα δείτε τη λίστα με τα τμήματα κώδικα για την ανάγνωση δεδομένων από διάφορες προελεύσεις δεδομένων.
Μεταφορά και απόθεση για εισαγωγή τμημάτων κώδικα
Χρησιμοποιήστε τη μεταφορά και απόθεση για την ανάγνωση δεδομένων από την εξερεύνηση Lakehouse εύκολα. Εδώ υποστηρίζονται πολλοί τύποι αρχείων. μπορείτε να εργαστείτε σε αρχεία κειμένου, πίνακες, εικόνες κ.λπ. Μπορείτε είτε να αποθέσετε σε ένα υπάρχον κελί είτε σε ένα νέο κελί. Το σημειωματάριο δημιουργεί αντίστοιχα το απόσπασμα κώδικα για προεπισκόπηση των δεδομένων.
Μεταφορά και απόθεση για εισαγωγή εικόνων
Χρησιμοποιήστε τη μεταφορά και απόθεση για εύκολη εισαγωγή εικόνων από το πρόγραμμα περιήγησης ή τον τοπικό υπολογιστή σας σε ένα κελί markdown.
Μορφοποίηση κελιού κειμένου με κουμπιά γραμμής εργαλείων
Για να ολοκληρώσετε συνήθεις ενέργειες markdown, χρησιμοποιήστε τα κουμπιά μορφοποίησης στη γραμμή εργαλείων κελιού κειμένου.
Αναίρεση ή επανάληψη λειτουργιών κελιών
Επιλέξτε Αναίρεση ή Επανάληψη ή πατήστε Z ή Shift+Z για να ανακαλέσετε τις πιο πρόσφατες λειτουργίες κελιών. Μπορείτε να αναιρέσετε ή να επαναλάβετε έως και 10 από τις τελευταίες λειτουργίες κελιού ιστορικού.
Υποστηριζόμενες λειτουργίες αναίρεσης κελιών:
- Εισαγωγή ή διαγραφή κελιού. Μπορείτε να ανακαλέσετε τις λειτουργίες που διαγράφηκαν, επιλέγοντας Αναίρεση (το περιεχόμενο κειμένου διατηρείται μαζί με το κελί).
- Αναδιάταξη κελιού.
- Εναλλαγή παραμέτρου.
- Μετατροπή μεταξύ κελιού κώδικα και κελιού Markdown.
Σημείωση
Οι λειτουργίες κειμένου εντός κελιού και οι λειτουργίες σχολιασμού κελιών κώδικα δεν μπορούν να αναιρεθούν. Μπορείτε να αναιρέσετε ή να επαναλάβετε έως και 10 από τις τελευταίες λειτουργίες κελιού ιστορικού.
Μετακίνηση κελιού
Μπορείτε να σύρετε από το κενό τμήμα ενός κελιού και να το αποθέσετε στην επιθυμητή θέση.
Μπορείτε επίσης να μετακινήσετε το επιλεγμένο κελί χρησιμοποιώντας την Μετακίνηση προς τα επάνω και Μετακίνηση προς τα κάτω στην κορδέλα.
Διαγραφή κελιού
Για να διαγράψετε ένα κελί, επιλέξτε το κουμπί διαγραφής στη δεξιά πλευρά του κελιού.
Μπορείτε επίσης να χρησιμοποιήσετε πλήκτρα συντόμευσης σε λειτουργία εντολής. Πατήστε Shift+D για να διαγράψετε το τρέχον κελί.
Σύμπτυξη εισόδου κελιού
Επιλέξτε τα αποσιωπητικά Περισσότερες εντολές (...) στη γραμμή εργαλείων κελιού και Απόκρυψη εισόδου για να συμπτύξετε την είσοδο του τρέχοντος κελιού. Για να την αναπτύξετε ξανά, επιλέξτε Εμφάνιση εισόδου όταν συμπτυσσθεί το κελί.
Σύμπτυξη εξόδου κελιού
Επιλέξτε τα αποσιωπητικά Περισσότερες εντολές (...) στη γραμμή εργαλείων κελιού και Απόκρυψη εξόδου για να συμπτύξετε την έξοδο του τρέχοντος κελιού. Για να την αναπτύξετε ξανά, επιλέξτε Εμφάνιση εξόδου όταν συμπτύσσεται η έξοδος κελιού.
Ασφάλεια εξόδου κελιού
Χρησιμοποιώντας ρόλους πρόσβασης δεδομένων OneLake (προεπισκόπηση), οι χρήστες μπορούν να ρυθμίσουν την πρόσβαση μόνο σε συγκεκριμένους φακέλους σε μια λίμνη κατά τη διάρκεια ερωτημάτων σημειωματάριου. Οι χρήστες χωρίς πρόσβαση σε έναν φάκελο ή πίνακα βλέπουν ένα μη εξουσιοδοτημένο σφάλμα κατά την εκτέλεση του ερωτήματος.
Σημαντικό
Η ασφάλεια ισχύει μόνο κατά την εκτέλεση του ερωτήματος και οποιαδήποτε κελιά σημειωματάριου που περιέχουν αποτελέσματα ερωτημάτων μπορούν να προβληθούν από χρήστες που δεν έχουν εξουσιοδότηση για την απευθείας εκτέλεση ερωτημάτων στα δεδομένα.
Κλείδωμα ή πάγωμα ενός κελιού
Οι λειτουργίες κελιών κλειδώματος και ψύξης σάς επιτρέπουν να κάνετε τα κελιά να κάνουν τα κελιά μόνο για ανάγνωση ή να διακόψετε την εκτέλεση των κελιών κώδικα σε μεμονωμένη βάση.
Συγχώνευση και διαίρεση κελιών
Μπορείτε να χρησιμοποιήσετε τη Συγχώνευση με το προηγούμενο κελί ή τη Συγχώνευση με το επόμενο κελί για να συγχωνεύσετε βολικά τα σχετικά κελιά.
Η επιλογή Διαίρεση κελιού σάς βοηθά να διαιρέσετε άσχετες προτάσεις σε πολλαπλά κελιά. Η λειτουργία διαιρεί τον κώδικα σύμφωνα με τη θέση γραμμής του δρομέα.
Περιεχόμενα σημειωματάριου
Η επιλογή Περιγράμματα ή Πίνακας περιεχομένων εμφανίζει την πρώτη κεφαλίδα markdown οποιουδήποτε κελιού markdown σε ένα πλαϊνό παράθυρο για γρήγορη περιήγηση. Η πλαϊνή γραμμή περιγράμματος έχει δυνατότητα αλλαγής μέγεθοςς και δυνατότητα σύμπτυξης για να χωρέσει την οθόνη με τον καλύτερο δυνατό τρόπο. Επιλέξτε το κουμπί Περιεχόμενα στη γραμμή εντολών σημειωματάριου για να ανοίξετε ή να αποκρύψετε την πλαϊνή γραμμή.
Αναδίπλωση Markdown
Η επιλογή αναδίπλωσης markdown σάς επιτρέπει να αποκρύψετε κελιά κάτω από ένα κελί markdown που περιέχει μια επικεφαλίδα. Το κελί markdown και τα κρυφά κελιά του αντιμετωπίζονται όμοια με ένα σύνολο συνεχόμενων πολλαπλών επιλεγμένων κελιών κατά την εκτέλεση λειτουργιών κελιών.
Εύρεση και αντικατάσταση
Η επιλογή εύρεσης και αντικατάστασης μπορεί να σας βοηθήσει να αντιστοιχίζετε και να εντοπίζετε τις λέξεις-κλειδιά ή την παράσταση στο περιεχόμενο του σημειωματάριού σας. Μπορείτε επίσης εύκολα να αντικαταστήσετε τη συμβολοσειρά προορισμού με μια νέα συμβολοσειρά.
Εκτέλεση σημειωματάριων
Μπορείτε να εκτελέσετε τα κελιά κώδικα στο σημειωματάριό σας μεμονωμένα ή όλα ταυτόχρονα. Η κατάσταση και η πρόοδος κάθε κελιού εμφανίζεται στο σημειωματάριο.
Εκτέλεση κελιού
Υπάρχουν πολλοί τρόποι για να εκτελέσετε τον κώδικα σε ένα κελί.
Τοποθετήστε τον δείκτη στο κελί που θέλετε να εκτελέσετε και επιλέξτε το κουμπί Εκτέλεση κελιού ή πατήστε τον συνδυασμό πλήκτρων Ctrl+Enter.
Χρησιμοποιήστε τα κλειδιά συντόμευσης σε λειτουργία εντολής. Πατήστε Shift+Enter για να εκτελέσετε το τρέχον κελί και επιλέξτε το επόμενο κελί. Πατήστε τον συνδυασμό πλήκτρων Alt+Enter για να εκτελέσετε το τρέχον κελί και να εισαγάγετε ένα νέο κελί.
Εκτέλεση όλων των κελιών
Επιλέξτε το κουμπί Εκτέλεση όλων για να εκτελέσετε όλα τα κελιά στο τρέχον σημειωματάριο με τη σειρά.
Εκτέλεση όλων των κελιών πάνω ή κάτω
Αναπτύξτε την αναπτυσσόμενη λίστα από την επιλογή Εκτέλεση όλων και, στη συνέχεια, επιλέξτε Εκτέλεση κελιών παραπάνω για να εκτελέσετε όλα τα κελιά πάνω από την τρέχουσα με τη σειρά. Επιλέξτε Εκτέλεση κελιών παρακάτω για να εκτελέσετε το τρέχον κελί και όλα τα κελιά κάτω από το τρέχον με τη σειρά.
Ακύρωση όλων των λειτουργικών κελιών
Επιλέξτε Ακύρωση όλων για να ακυρώσετε τα κελιά που εκτελούνται ή τα κελιά που βρίσκονται σε αναμονή στην ουρά.
Διακοπή περιόδου λειτουργίας
Η περίοδος λειτουργίας Διακοπή ακυρώνει τα κελιά που εκτελούνται και αναμένουν και διακόπτει την τρέχουσα περίοδο λειτουργίας. Μπορείτε να επανεκκινήσετε μια ολοκαίνουργια περίοδο λειτουργίας, επιλέγοντας ξανά την επιλογή εκτέλεσης.
Εκτέλεση αναφοράς
Εκτέλεση αναφοράς σε σημειωματάριο
Εκτός από την αναφορά notebookutils που εκτελεί το API, μπορείτε επίσης να χρησιμοποιήσετε τη %run <notebook name>
μαγική εντολή για να αναφέρετε ένα άλλο σημειωματάριο στο περιβάλλον του τρέχοντος σημειωματάριου. Όλες οι μεταβλητές που ορίζονται στο σημειωματάριο αναφοράς είναι διαθέσιμες στο τρέχον σημειωματάριο. Η %run
μαγική εντολή υποστηρίζει ένθετες κλήσεις αλλά δεν υποστηρίζει επαναλαμβανόμενες κλήσεις. Λαμβάνετε μια εξαίρεση εάν το βάθος της δήλωσης είναι μεγαλύτερο από πέντε.
Παράδειγμα: %run Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }
.
Η αναφορά σημειωματάριου λειτουργεί τόσο σε αλληλεπιδραστική λειτουργία όσο και σε διοχέτευση.
Σημείωση
- Η
%run
εντολή προς το παρόν υποστηρίζει μόνο σημειωματάρια αναφοράς στον ίδιο χώρο εργασίας με το τρέχον σημειωματάριο. - Η
%run
εντολή προς το παρόν υποστηρίζει μόνο έως τέσσερις τύπους τιμών παραμέτρων:int
,float
,bool
καιstring
. Η λειτουργία αντικατάστασης μεταβλητών δεν υποστηρίζεται. - Η
%run
εντολή δεν υποστηρίζει ένθετα αναφορά με βάθος μεγαλύτερο από πέντε.
Αναφορά εκτέλεσης δέσμης ενεργειών
Η %run
εντολή σάς επιτρέπει επίσης να εκτελείτε αρχεία Python ή SQL που είναι αποθηκευμένα στους ενσωματωμένους πόρους του σημειωματάριου, ώστε να μπορείτε να εκτελείτε εύκολα τα αρχεία πηγαίου κώδικα στο σημειωματάριο.
%run [-b/--builtin -c/--current] [script_file.py/.sql] [variables ...]
Για επιλογές:
- -b/--builtin: Αυτή η επιλογή υποδεικνύει ότι η εντολή εντοπίζει και εκτελεί το καθορισμένο αρχείο δέσμης ενεργειών από τους ενσωματωμένους πόρους του σημειωματάριου.
- -c/--current: Αυτή η επιλογή εξασφαλίζει ότι η εντολή χρησιμοποιεί πάντα τους ενσωματωμένους πόρους του τρέχοντος σημειωματάριου, ακόμα και αν το τρέχον σημειωματάριο αναφέρεται από άλλα σημειωματάρια.
Παραδείγματα:
Για να εκτελέσετε script_file.py από τους ενσωματωμένους πόρους:
%run -b script_file.py
Για να εκτελέσετε script_file.sql από τους ενσωματωμένους πόρους:
%run -b script_file.sql
Για να εκτελέσετε script_file.py από τους ενσωματωμένους πόρους με συγκεκριμένες μεταβλητές:
%run -b script_file.py { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }
Σημείωση
Εάν η εντολή δεν περιέχει το -b/--builtin, θα επιχειρήσει να βρει και εκτελέσει ένα στοιχείο σημειωματάριου μέσα στον ίδιο χώρο εργασίας και όχι στους ενσωματωμένους πόρους.
Παράδειγμα χρήσης για ένθετης υπόθεση εκτέλεσης:
- Ας υποθέσουμε ότι έχουμε δύο σημειωματάρια.
- Notebook1: Περιέχει script_file1.py στους ενσωματωμένους πόρους του
- Notebook2: Περιέχει script_file2.py στους ενσωματωμένους πόρους του
- Ας χρησιμοποιήσουμε το Notebook1 ως σημειωματάριο ρίζας με το περιεχόμενο:
%run Notebook2
. - Στη συνέχεια, στο Notebook2 η οδηγία χρήσης είναι:
- Για να εκτελέσετε script_file1.py στο σημειωματάριο Notebook1(το σημειωματάριο ρίζας), ο κώδικας θα είναι:
%run -b script_file1.py
- Για να εκτελέσετε script_file2.py στο Σημειωματάριο2 (το τρέχον Σημειωματάριο), ο κώδικας θα είναι:
%run -b -c script_file2.py
- Για να εκτελέσετε script_file1.py στο σημειωματάριο Notebook1(το σημειωματάριο ρίζας), ο κώδικας θα είναι:
Εξερεύνηση μεταβλητών
Τα σημειωματάρια Fabric παρέχουν μια ενσωματωμένη εξερεύνηση μεταβλητών που εμφανίζει τη λίστα με το όνομα, τον τύπο, το μήκος και την τιμή μεταβλητών στην τρέχουσα περίοδο λειτουργίας Spark για τα κελιά PySpark (Python). Περισσότερες μεταβλητές εμφανίζονται αυτόματα όπως ορίζονται στα κελιά κώδικα. Το κλικ σε κάθε κεφαλίδα στήλης ταξινομεί τις μεταβλητές στον πίνακα.
Για να ανοίξετε ή να αποκρύψετε την εξερεύνηση μεταβλητών, επιλέξτε Μεταβλητές στην προβολή κορδέλαςσημειωματάριου.
Σημείωση
Η εξερεύνηση μεταβλητών υποστηρίζει μόνο Python.
Ένδειξη κατάστασης κελιού
Μια κατάσταση εκτέλεσης κελιού βήμα προς βήμα εμφανίζεται κάτω από το κελί για να σας βοηθήσει να δείτε την τρέχουσα πρόοδό του. Όταν ολοκληρωθεί η εκτέλεση του κελιού, εμφανίζεται μια σύνοψη εκτέλεσης με τη συνολική διάρκεια και ώρα λήξης και αποθηκεύεται εκεί για μελλοντική αναφορά.
Ενσωματωμένη ένδειξη εργασίας Apache Spark
Το σημειωματάριο Fabric βασίζεται στο Apache Spark. Τα κελιά κώδικα εκτελούνται απομακρυσμένα στο σύμπλεγμα Apache Spark. Ένας δείκτης προόδου εργασίας Spark παρέχεται με μια γραμμή προόδου σε πραγματικό χρόνο, η οποία φαίνεται να σας βοηθά να κατανοήσετε την κατάσταση εκτέλεσης εργασίας. Ο αριθμός των εργασιών ανά εργασία ή στάδιο σάς βοηθά να αναγνωρίσετε το παράλληλο επίπεδο της εργασίας σας Spark. Μπορείτε επίσης να κάνετε βαθύτερη διερεύνηση στο περιβάλλον εργασίας spark μιας συγκεκριμένης εργασίας (ή σταδίου) επιλέγοντας τη σύνδεση στο όνομα της εργασίας (ή του σταδίου).
Μπορείτε επίσης να βρείτε το αρχείο καταγραφής σε πραγματικό χρόνο σε επίπεδο κελιού δίπλα στην ένδειξη προόδου και τα Διαγνωστικά μπορούν να σας παρέχουν χρήσιμες προτάσεις για τον περιορισμό και τον εντοπισμό σφαλμάτων του κώδικα.
Στις Περισσότερες ενέργειες, μπορείτε εύκολα να μεταβείτε στη σελίδα λεπτομερειών της εφαρμογής Spark και στη σελίδα περιβάλλοντος εργασίας web Spark.
Μυστική έκθεση
Για να αποτρέψετε την τυχαία διαρροή διαπιστευτηρίων κατά την εκτέλεση σημειωματάριων, τα σημειωματάρια Fabric υποστηρίζουν τη μυστική επεξεργασία για την αντικατάσταση των μυστικών τιμών που εμφανίζονται στην έξοδο κελιού με [REDACTED]
. Η μυστική έκθεση ισχύει για τα Python, Scala και R.
Μαγικές εντολές σε ένα σημειωματάριο
Ενσωματωμένες μαγικές εντολές
Μπορείτε να χρησιμοποιήσετε γνωστές μαγικές εντολές Ipython στα σημειωματάρια Fabric. Δείτε την παρακάτω λίστα διαθέσιμων προς το παρόν μαγικών εντολών.
Σημείωση
Αυτές είναι οι μόνες μαγικές εντολές που υποστηρίζονται στη διοχέτευση Fabric: %%pyspark, %%spark, %%csharp, %%sql, %%configure.
Διαθέσιμες μαγικές εντολές γραμμής: %lsmagic, %time, %timeit, %history, %run, %load, %alias, %alias_magic, %autoawait, %autocall, %automagic, %bookmark, %cd, %colors, %dhist, %dirs, %doctest_mode, %killbgscripts, %load_ext, %logoff, %logon, %logstart, %logstate, %logstop, %magic, %matplotlib, %page, %pastebin, %pdef, %pfile, %pinfo, %pinfo2, %popd, %pprint, %precision, %prun, %psearch, %psource, %pushd, %pwd, %pycat, %quickref, % rehashx, %reload_ext, %reset, %reset_selective, %sx, %system, %tb, %unalias, %unload_ext, %who, %who_ls, %who's, %xdel, %xmode.
Το σημειωματάριο Fabric υποστηρίζει επίσης βελτιωμένες εντολές διαχείρισης βιβλιοθήκης %pip και %conda. Για περισσότερες πληροφορίες σχετικά με τη χρήση, ανατρέξτε στο θέμα Διαχείριση βιβλιοθηκών Apache Spark στο Microsoft Fabric.
Διαθέσιμες εντολές μαγείας κελιών: %%time, %%timeit, %%capture, %%writefile, %%sql, %%pyspark, %%spark, %%csharp, %%configure, %%html, %%bash, %%markdown, %%perl, %%script, %%sh.
Προσαρμοσμένες μαγικές εντολές
Μπορείτε επίσης να δημιουργήσετε περισσότερες προσαρμοσμένες μαγικές εντολές για να ικανοποιήσετε τις συγκεκριμένες ανάγκες σας. Ακολουθεί ένα παράδειγμα:
Δημιουργήστε ένα σημειωματάριο με το όνομα "MyLakehouseModule".
Σε ένα άλλο σημειωματάριο, αναφέρετε το "MyLakehouseModule" και τις μαγικές εντολές του. Αυτή η διαδικασία είναι ο τρόπος με τον οποίο μπορείτε να οργανώσετε εύκολα το έργο σας με σημειωματάρια που χρησιμοποιούν διαφορετικές γλώσσες.
Γραφικά στοιχεία IPython
Τα γραφικά στοιχεία IPython είναι αντικείμενα Python με δυνατότητα συμβάντων που έχουν μια αναπαράσταση στο πρόγραμμα περιήγησης. Μπορείτε να χρησιμοποιήσετε τα γραφικά στοιχεία IPython ως στοιχεία ελέγχου χαμηλού κώδικα (για παράδειγμα, το ρυθμιστικό ή το πλαίσιο κειμένου) στο σημειωματάριό σας, όπως ακριβώς και το σημειωματάριο Jupyter. Προς το παρόν, λειτουργεί μόνο σε περιβάλλον Python.
Για να χρησιμοποιήσετε γραφικά στοιχεία IPython
Εισαγάγετε πρώτα τη λειτουργική μονάδα ipywidgets για να χρησιμοποιήσετε το πλαίσιο γραφικού στοιχείου Jupyter.
import ipywidgets as widgets
Χρησιμοποιήστε τη συνάρτηση εμφάνισης ανώτατου επιπέδου για την απόδοση ενός γραφικού στοιχείου ή αφήστε μια παράσταση τύπου γραφικού στοιχείου στην τελευταία γραμμή του κελιού κώδικα.
slider = widgets.IntSlider() display(slider)
Εκτελέστε το κελί. Το γραφικό στοιχείο εμφανίζεται στην περιοχή εξόδου.
slider = widgets.IntSlider() display(slider)
Χρησιμοποιήστε πολλαπλές κλήσεις display() για την απόδοση της ίδιας παρουσίας γραφικού στοιχείου πολλές φορές. Παραμένουν συγχρονισμένα μεταξύ τους.
slider = widgets.IntSlider() display(slider) display(slider)
Για να αποδώσουν δύο γραφικά στοιχεία ανεξάρτητα το ένα από το άλλο, δημιουργήστε δύο παρουσίες γραφικού στοιχείου:
slider1 = widgets.IntSlider() slider2 = widgets.IntSlider() display(slider1) display(slider2)
Υποστηριζόμενα γραφικά στοιχεία
Τύπος γραφικών στοιχείων | Γραφικά στοιχεία |
---|---|
Αριθμητικά γραφικά στοιχεία | IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText |
Δυαδικά γραφικά στοιχεία | ΕναλλαγήΚουμπτόν, Πλαίσιο ελέγχου, Έγκυρο |
Γραφικά στοιχεία επιλογής | Αναπτυσσόμενη λίστα, Κουμπί επιλογής, Επιλογή, ΕπιλογέςΣυνδρομή, SelectionRangeSlider, ToggleButtons, SelectMultiple |
Γραφικά στοιχεία συμβολοσειράς | Κείμενο, Περιοχή κειμένου, Σύνθετο πλαίσιο, Κωδικός πρόσβασης, Ετικέτα, HTML, Μαθηματικά HTML, Εικόνα, Κουμπί |
Γραφικό στοιχείο αναπαραγωγής (κίνησης) | Επιλογή ημερομηνίας, Επιλογή χρώματος, Ελεγκτής |
Γραφικά στοιχεία κοντέινερ ή διάταξης | Box, HBox, VBox, GridBox, Accordion, Tabs, Stacked |
Γνωστοί περιορισμοί
Τα παρακάτω γραφικά στοιχεία δεν υποστηρίζονται ακόμα. Οι παρακάτω λύσεις είναι διαθέσιμες:
Λειτουργικότητα Λύση Γραφικό στοιχείο εξόδου Μπορείτε να χρησιμοποιήσετε τη συνάρτηση print() αντί για να γράψετε κείμενο στο stdout. widgets.jslink() Μπορείτε να χρησιμοποιήσετε τη συνάρτηση widgets.link() για να συνδέσετε δύο παρόμοια γραφικά στοιχεία. Γραφικό στοιχείο FileUpload Δεν υποστηρίζεται ακόμα. Η συνάρτηση καθολικής εμφάνισης Fabric δεν υποστηρίζει την εμφάνιση πολλαπλών γραφικών στοιχείων σε μία κλήση (για παράδειγμα, display(a, b)). Αυτή η συμπεριφορά είναι διαφορετική από τη συνάρτηση εμφάνισης IPython.
Εάν κλείσετε ένα σημειωματάριο που περιέχει ένα γραφικό στοιχείο IPython, δεν θα μπορείτε να το δείτε ή να αλληλεπιδράσετε με αυτό μέχρι να εκτελέσετε ξανά το αντίστοιχο κελί.
Η συνάρτηση αλληλεπίδρασης (ipywidgets.interact) δεν υποστηρίζεται.
Ενοποίηση σημειωματάριου
Καθορισμός κελιού παραμέτρων
Για να παραμετροποιήσετε το σημειωματάριό σας, επιλέξτε τα αποσιωπητικά (...) για να αποκτήσετε πρόσβαση στις περισσότερες εντολές στη γραμμή εργαλείων κελιού. Στη συνέχεια, επιλέξτε Εναλλαγή κελιού παραμέτρου για να καθορίσετε το κελί ως το κελί παραμέτρων.
Το κελί παραμέτρου είναι χρήσιμο για την ενσωμάτωση ενός σημειωματάριου σε μια διοχέτευση. Η δραστηριότητα διοχέτευσης αναζητά το κελί παραμέτρων και αντιμετωπίζει αυτό το κελί ως προεπιλογή για τις παραμέτρους που μεταβιβάζονται κατά τον χρόνο εκτέλεσης. Ο μηχανισμός εκτέλεσης προσθέτει ένα νέο κελί κάτω από το κελί παραμέτρων με παραμέτρους εισόδου, προκειμένου να αντικατασταθούν οι προεπιλεγμένες τιμές.
Αντιστοίχιση τιμών παραμέτρων από μια διοχέτευση
Αφού δημιουργήσετε ένα σημειωματάριο με παραμέτρους, μπορείτε να το εκτελέσετε από μια διοχέτευση με τη δραστηριότητα σημειωματάριου Fabric. Αφού προσθέσετε τη δραστηριότητα στον καμβά διοχέτευσης, μπορείτε να ορίσετε τις τιμές παραμέτρων στην ενότητα Βασικές παράμετροι της καρτέλας Ρυθμίσεις .
Κατά την αντιστοίχιση τιμών παραμέτρων, μπορείτε να χρησιμοποιήσετε τη γλώσσα παράστασης διοχέτευσης ή συναρτήσεις και μεταβλητές.
Μαγική εντολή ρύθμισης παραμέτρων περιόδου λειτουργίας Spark
Μπορείτε να εξατομικεύσετε την περίοδο λειτουργίας Spark με τη μαγική εντολή %%configure. Το σημειωματάριο Fabric υποστηρίζει προσαρμοσμένους εικονικούς πυρήνες, μνήμη των ιδιοτήτων Driver και Executor, Apache Spark, σημεία μονταρίσματος, χώρος συγκέντρωσης και την προεπιλεγμένη λίμνη της περιόδου λειτουργίας σημειωματάριου. Μπορούν να χρησιμοποιηθούν σε αλληλεπιδραστικές δραστηριότητες σημειωματάριου και σημειωματάριου διοχέτευσης. Συνιστούμε να εκτελέσετε την εντολή %%configure στην αρχή του σημειωματάριού σας ή πρέπει να επανεκκινήσετε την περίοδο λειτουργίας Spark για να τεθούν σε ισχύ οι ρυθμίσεις.
%%configure
{
// You can get a list of valid parameters to config the session from https://github.com/cloudera/livy#request-body.
"driverMemory": "28g", // Recommended values: ["28g", "56g", "112g", "224g", "400g"]
"driverCores": 4, // Recommended values: [4, 8, 16, 32, 64]
"executorMemory": "28g",
"executorCores": 4,
"jars": ["abfs[s]: //<file_system>@<account_name>.dfs.core.windows.net/<path>/myjar.jar", "wasb[s]: //<containername>@<accountname>.blob.core.windows.net/<path>/myjar1.jar"],
"conf":
{
// Example of customized property, you can specify count of lines that Spark SQL returns by configuring "livy.rsc.sql.num-rows".
"livy.rsc.sql.num-rows": "3000",
"spark.log.level": "ALL"
},
"defaultLakehouse": { // This overwrites the default lakehouse for current session
"name": "<lakehouse-name>",
"id": "<(optional) lakehouse-id>",
"workspaceId": "<(optional) workspace-id-that-contains-the-lakehouse>" // Add workspace ID if it's from another workspace
},
"mountPoints": [
{
"mountPoint": "/myMountPoint",
"source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path>"
},
{
"mountPoint": "/myMountPoint1",
"source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path1>"
},
],
"environment": {
"id": "<environment-id>",
"name": "<environment-name>"
},
"sessionTimeoutInSeconds": 1200,
"useStarterPool": false, // Set to true to force using starter pool
"useWorkspacePool": "<workspace-pool-name>"
}
Σημείωση
- Συνιστούμε να ορίσετε την ίδια τιμή για τα στοιχεία "DriverMemory" και "ExecutorMemory" στο %%configure. Οι τιμές "driverCores" και "executorCores" θα πρέπει επίσης να είναι ίδιες.
- Το "defaultLakehouse" θα αντικαταστήσει την καρφιτσωμένη λίμνη σας στην εξερεύνηση Lakehouse, αλλά αυτό λειτουργεί μόνο στην τρέχουσα εκπαιδευτική ενότητα σημειωματάριου.
- Μπορείτε να χρησιμοποιήσετε το %%configure σε διοχετεύσεις Fabric, αλλά εάν δεν οριστεί στο πρώτο κελί κώδικα, η εκτέλεση διοχέτευσης θα αποτύχει λόγω αδυναμίας επανεκκίνησης της περιόδου λειτουργίας.
- Το %%configure used in notebookutils.notebook.run θα αγνοηθεί, αλλά θα χρησιμοποιηθεί στο %run notebook θα συνεχίσει να εκτελείται.
- Οι τυπικές ιδιότητες ρύθμισης παραμέτρων Spark πρέπει να χρησιμοποιηθούν στο σώμα "conf". Το Fabric δεν υποστηρίζει αναφορά πρώτου επιπέδου για τις ιδιότητες ρύθμισης παραμέτρων Spark.
- Ορισμένες ειδικές ιδιότητες Spark, όπως "spark.driver.cores", "spark.executor.cores", "spark.driver.memory", "spark.executor.memory" και "spark.executor.instances" δεν ισχύουν στο σώμα "conf".
Παραμετροποιημένη ρύθμιση παραμέτρων περιόδου λειτουργίας από μια διοχέτευση
Η παραμετροποιημένη ρύθμιση παραμέτρων περιόδου λειτουργίας σάς επιτρέπει να αντικαταστήσετε την τιμή στο %%configure magic με τις παραμέτρους δραστηριότητας του σημειωματάριου εκτέλεσης διοχέτευσης. Κατά την προετοιμασία του κελιού κώδικα %%configur, μπορείτε να αντικαταστήσετε τις προεπιλεγμένες τιμές (επίσης με δυνατότητα ρύθμισης παραμέτρων, 4 και "2000" στο παρακάτω παράδειγμα) με ένα αντικείμενο όπως αυτό:
{
"parameterName": "paramterNameInPipelineNotebookActivity",
"defaultValue": "defaultValueIfNoParamterFromPipelineNotebookActivity"
}
%%configure
{
"driverCores":
{
"parameterName": "driverCoresFromNotebookActivity",
"defaultValue": 4
},
"conf":
{
"livy.rsc.sql.num-rows":
{
"parameterName": "rows",
"defaultValue": "2000"
}
}
}
Ένα σημειωματάριο χρησιμοποιεί την προεπιλεγμένη τιμή εάν εκτελείτε ένα σημειωματάριο απευθείας σε αλληλεπιδραστική λειτουργία ή εάν η δραστηριότητα του σημειωματάριου διοχέτευσης δεν παρέχει καμία παράμετρο που να συμφωνεί με τη "activityParameterName".
Κατά την εκτέλεση μιας διοχέτευσης, μπορείτε να ρυθμίσετε τις παραμέτρους δραστηριότητας σημειωματάριου διοχέτευσης ως εξής:
Εάν θέλετε να αλλάξετε τη ρύθμιση παραμέτρων περιόδου λειτουργίας, το όνομα παραμέτρων δραστηριότητας σημειωματάριου διοχέτευσης πρέπει να είναι ίδιο με parameterName
αυτό του σημειωματάριου. Σε αυτό το παράδειγμα εκτέλεσης μιας διοχέτευσης, driverCores
το %%configure αντικαθίσταται από το 8 και livy.rsc.sql.num-rows
αντικαθίσταται από το 4000.
Σημείωση
- Εάν αποτύχει μια εκτέλεση διοχέτευσης επειδή χρησιμοποιήσατε την εντολή %%configure magic, βρείτε περισσότερες πληροφορίες σφάλματος εκτελώντας το %%configure magic cell στην αλληλεπιδραστική λειτουργία του σημειωματάριου.
- Οι προγραμματισμένες εκτελέσεις σημειωματάριου δεν υποστηρίζουν παραμετροποιημένες ρυθμίσεις περιόδου λειτουργίας.
Καταγραφή Python σε ένα σημειωματάριο
Μπορείτε να βρείτε αρχεία καταγραφής Python και να ορίσετε διαφορετικά επίπεδα αρχείου καταγραφής και μορφή, όπως το δείγμα κώδικα που εμφανίζεται εδώ:
import logging
# Customize the logging format for all loggers
FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
formatter = logging.Formatter(fmt=FORMAT)
for handler in logging.getLogger().handlers:
handler.setFormatter(formatter)
# Customize log level for all loggers
logging.getLogger().setLevel(logging.INFO)
# Customize the log level for a specific logger
customizedLogger = logging.getLogger('customized')
customizedLogger.setLevel(logging.WARNING)
# logger that use the default global log level
defaultLogger = logging.getLogger('default')
defaultLogger.debug("default debug message")
defaultLogger.info("default info message")
defaultLogger.warning("default warning message")
defaultLogger.error("default error message")
defaultLogger.critical("default critical message")
# logger that use the customized log level
customizedLogger.debug("customized debug message")
customizedLogger.info("customized info message")
customizedLogger.warning("customized warning message")
customizedLogger.error("customized error message")
customizedLogger.critical("customized critical message")
Προβολή του ιστορικού εντολών εισόδου
Το σημειωματάριο Fabric υποστηρίζει μαγική εντολή %history
για την εκτύπωση του ιστορικού εντολών εισόδου που εκτελέστηκε στην τρέχουσα περίοδο λειτουργίας, σε σύγκριση με την τυπική εντολή %history
Jupyter Ipython που λειτουργεί για περιβάλλον πολλαπλών γλωσσών στο σημειωματάριο.
%history [-n] [range [range ...]]
Για επιλογές:
- -n: Εκτυπώστε τον αριθμό εκτέλεσης.
Πού μπορεί να βρίσκεται η περιοχή:
- N: Κωδικός εκτύπωσης του εκτελεσθέντος κελιού Nth .
- M-N: Εκτυπώστε κώδικα από Mth σε Nth εκτελέσιμο κελί.
Παράδειγμα:
- Εκτυπώστε το ιστορικό εισόδου από το 1ο έως το 2ο εκτελεσμένο κελί:
%history -n 1-2
Πλήκτρα συντόμευσης
Παρόμοια με τα Σημειωματάρια Jupyter, τα σημειωματάρια Fabric έχουν ένα αποκλειστικό περιβάλλον εργασίας χρήστη. Το πληκτρολόγιο κάνει διαφορετικά πράγματα, ανάλογα με την κατάσταση λειτουργίας στο οποίο βρίσκεται το κελί σημειωματάριου. Τα σημειωματάρια Fabric υποστηρίζουν τις ακόλουθες δύο λειτουργίες για ένα συγκεκριμένο κελί κώδικα: λειτουργία εντολής και λειτουργία επεξεργασίας.
Ένα κελί βρίσκεται σε λειτουργία εντολής όταν δεν υπάρχει δρομέας κειμένου που να σας ζητά να πληκτρολογήσετε. Όταν ένα κελί βρίσκεται σε λειτουργία εντολής, μπορείτε να επεξεργαστείτε το σημειωματάριο συνολικά, αλλά όχι να πληκτρολογήσετε σε μεμονωμένα κελιά. Πληκτρολογήστε τη λειτουργία εντολής πατώντας το πλήκτρο ESC ή χρησιμοποιώντας το ποντίκι για να το επιλέξετε εκτός της περιοχής επεξεργασίας ενός κελιού.
Η λειτουργία επεξεργασίας μπορεί να υποδεικνύεται από έναν δρομέα κειμένου που σας ζητά να πληκτρολογήσετε στην περιοχή του προγράμματος επεξεργασίας. Όταν ένα κελί βρίσκεται σε λειτουργία επεξεργασίας, μπορείτε να πληκτρολογήσετε μέσα στο κελί. Πληκτρολογήστε Λειτουργία επεξεργασίας πατώντας το πλήκτρο Enter ή χρησιμοποιώντας το ποντίκι για να επιλέξετε την περιοχή του προγράμματος επεξεργασίας ενός κελιού.
Πλήκτρα συντόμευσης σε λειτουργία εντολής
Ενέργεια | Συντομεύσεις σημειωματάριου |
---|---|
Εκτελέστε το τρέχον κελί και επιλέξτε παρακάτω | Shift+Enter |
Εκτέλεση του τρέχοντος κελιού και εισαγωγή παρακάτω | Alt+Enter |
Εκτέλεση τρέχοντος κελιού | Ctrl+Enter |
Επιλογή κελιού επάνω | Πάνω |
Επιλογή κελιού κάτω από | Κάτω |
Επιλογή προηγούμενου κελιού | K |
Επιλογή επόμενου κελιού | J |
Εισαγωγή κελιού επάνω | A |
Εισαγωγή κελιού κάτω από | B |
Διαγραφή επιλεγμένων κελιών | Shift + D |
Μετάβαση σε λειτουργία επεξεργασίας | Enter |
Πλήκτρα συντόμευσης σε λειτουργία επεξεργασίας
Χρησιμοποιώντας τις ακόλουθες συντομεύσεις πλήκτρων, μπορείτε εύκολα να περιηγηθείτε και να εκτελέσετε κώδικα στα σημειωματάρια Fabric όταν βρίσκεστε σε λειτουργία επεξεργασίας.
Ενέργεια | Συντομεύσεις σημειωματάριου |
---|---|
Μετακίνηση προς τα επάνω ομάδας εγγραφών | Πάνω |
Μετακίνηση προς τα κάτω | Κάτω |
Αναίρεση | Ctrl + Z |
Επανάληψη | Ctrl + Y |
Σχόλιο ή Κατάργηση σχολιασμού | Ctrl + / Σχόλιο: Ctrl + K + C Αποσυμποίκηση: Ctrl + K + U |
Διαγραφή λέξης πριν | Ctrl + Backspace |
Διαγραφή λέξης μετά | Ctrl + Διαγραφή |
Μετάβαση στην έναρξη κελιού | Ctrl + Αρχική |
Μετάβαση στο τέλος κελιού | Ctrl + τέλος |
Πηγαίνετε μία λέξη αριστερά | Ctrl + αριστερά |
Πηγαίνετε μια λέξη δεξιά | Ctrl + Δεξιά |
Επιλογή όλων | Ctrl + A |
Εσοχή | Ctrl + ] |
Εσοχή | Ctrl + [ |
Μετάβαση σε λειτουργία εντολής | Esc |
Για να βρείτε όλα τα κλειδιά συντόμευσης, επιλέξτε Προβολή στην κορδέλα σημειωματάριου και, στη συνέχεια, επιλέξτε Σύνδεση πλήκτρων.