Σημείωμα
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Το Fabric Runtime είναι μια ενσωματωμένη στο Azure πλατφόρμα που βασίζεται στο Apache Spark που επιτρέπει την εκτέλεση και τη διαχείριση εμπειριών μηχανικής δεδομένων και επιστήμης δεδομένων. Συνδυάζει βασικά στοιχεία τόσο από εσωτερικές προελεύσεις όσο και από προελεύσεις ανοιχτού κώδικα, παρέχοντας στους πελάτες μια ολοκληρωμένη λύση. Για λόγους απλότητας, ανατρέξτε στο Fabric Runtime που υποστηρίζεται από το Apache Spark ως Fabric Runtime.
Κύρια στοιχεία του χρόνου εκτέλεσης Fabric:
Apache Spark - μια ισχυρή κατανεμημένη υπολογιστική βιβλιοθήκη ανοιχτού κώδικα που επιτρέπει εργασίες επεξεργασίας και ανάλυσης δεδομένων μεγάλης κλίμακας. Το Apache Spark παρέχει μια ευέλικτη και υψηλής απόδοσης πλατφόρμα για τη διαχείριση δεδομένων και τις εμπειρίες επιστήμης δεδομένων.
Delta Lake - ένα επίπεδο αποθήκευσης ανοιχτού κώδικα που φέρνει συναλλαγές ACID και άλλα χαρακτηριστικά αξιοπιστίας δεδομένων στο Apache Spark. Ενοποιημένο στον χρόνο εκτέλεσης Fabric, το Delta Lake βελτιώνει τις δυνατότητες επεξεργασίας δεδομένων και εξασφαλίζει συνέπεια δεδομένων σε πολλές ταυτόχρονες λειτουργίες.
Το Native Execution Engine - μια μετασχηματιστική βελτίωση για φόρτους εργασίας Apache Spark, που προσφέρει σημαντικά κέρδη απόδοσης εκτελώντας απευθείας ερωτήματα Spark σε υποδομή lakehouse. Ενσωματωμένο απρόσκοπτα, δεν απαιτεί αλλαγές κώδικα και αποφεύγει το κλείδωμα του προμηθευτή. Υποστηρίζει μορφές Parquet και Delta σε όλα τα API Apache Spark σε Runtime 1.3 (Spark 3.5) και Runtime 2.0 (Spark 4.1).
Οι υποστηριζόμενοι χειριστές εκφορτώνονται από το Spark που βασίζεται σε JVM σε μια διανυσματική διαδρομή εκτέλεσης C++ μέσω Apache Gluten και Velox, παρέχοντας στήλη, επιταχυνόμενη επεξεργασία SIMD με εγγενή υποστήριξη για μορφές Parquet και Delta. Όταν ένας χειριστής δεν υποστηρίζεται, η εκτέλεση επιστρέφει αυτόματα στο Spark που βασίζεται σε JVM. Σε αντιπροσωπευτικά σημεία αναφοράς (TPC-DS σε συντελεστή κλίμακας 1000 χρησιμοποιώντας το Delta), ο κινητήρας πέτυχε έως και έξι φορές ταχύτερη απόδοση σε σύγκριση με το Spark ανοιχτού κώδικα, που μεταφράζεται σε περίπου 83% εξοικονόμηση υπολογιστικού κόστους σε ένα σύμπλεγμα Fabric σταθερού μεγέθους.
Η εγγενής διαδρομή διατηρεί τις βελτιστοποιήσεις ερωτημάτων Fabric Spark, συμπεριλαμβανομένης της προσαρμοστικής εκτέλεσης ερωτημάτων, των επανεγγραφών βάσει κόστους, της περικοπής στηλών και της προώθησης κατηγορημάτων. Μπορείτε να αλλάξετε την εγγενή εκτέλεση ανά εφαρμογή χρησιμοποιώντας τη
spark.native.enabledρύθμιση παραμέτρων. Κατά την εκτέλεση κελιών σημειωματαρίου, το Fabric Spark Advisor εμφανίζει ειδοποιήσεις σε πραγματικό χρόνο όταν η εκτέλεση επιστρέφει στο Spark που βασίζεται σε JVM, βοηθώντας σας να διαγνώσετε πότε δεν εφαρμόζεται εγγενής μείωση φόρτου.Πακέτα προεπιλεγμένου επιπέδου για Java/Scala, Python και R - πακέτα που υποστηρίζουν διαφορετικές γλώσσες προγραμματισμού και περιβάλλοντα. Αυτά τα πακέτα εγκαθίστανται και ρυθμίζονται αυτόματα, ώστε οι προγραμματιστές να μπορούν να εφαρμόζουν τις προτιμώμενες γλώσσες προγραμματισμού για εργασίες επεξεργασίας δεδομένων.
Το Fabric Runtime βασίζεται σε ένα ισχυρό λειτουργικό σύστημα ανοιχτού κώδικα, διασφαλίζοντας συμβατότητα με διάφορες διαμορφώσεις υλικού και απαιτήσεις συστήματος.
Στον παρακάτω πίνακα, θα βρείτε μια ολοκληρωμένη σύγκριση βασικών στοιχείων, συμπεριλαμβανομένων των εκδόσεων Apache Spark, των υποστηριζόμενων λειτουργικών συστημάτων, των Java, Scala, Python, Delta Lake και R, για χρόνους εκτέλεσης που βασίζονται στο Apache Spark εντός της πλατφόρμας Fabric.
Φιλοδώρημα
Χρησιμοποιείτε πάντα την πιο πρόσφατη, γενικά διαθέσιμη έκδοση χρόνου εκτέλεσης (GA) για τον φόρτο εργασίας παραγωγής σας, η οποία αυτή τη στιγμή είναι ο χρόνος εκτέλεσης 1.3.
| Συνθετικός | Χρόνος εκτέλεσης: 1.3 | Χρόνος εκτέλεσης 2.0 |
|---|---|---|
| σταδίου κυκλοφορίας |
Γενική διαθεσιμότητα | Δημόσια προεπισκόπηση |
| Έκδοση Apache Spark | 3.5.5 | 4.1 |
| Λειτουργικό σύστημα | Μάρινερ 2.0 | Μάρινερ 3.0 |
| Έκδοση Java | 11 | 21 |
| Έκδοση Scala | 2.12.17 | 2.13.16 |
| Έκδοση Python | 3.11 | 3.13 |
| Έκδοση Delta Lake | 3,2 | 4.2 |
Επισκεφτείτε το Runtime 1.3 ή το Runtime 2.0 για να εξερευνήσετε λεπτομέρειες, νέες δυνατότητες, βελτιώσεις και σενάρια μετεγκατάστασης για τη συγκεκριμένη έκδοση χρόνου εκτέλεσης.
Βελτιστοποιήσεις fabric
Στο Fabric, τόσο η μηχανή Spark όσο και οι υλοποιήσεις Delta Lake ενσωματώνουν βελτιστοποιήσεις και δυνατότητες για συγκεκριμένες πλατφόρμες. Αυτές οι δυνατότητες χρησιμοποιούν εγγενείς ενσωματώσεις εντός της πλατφόρμας. Μπορείτε να απενεργοποιήσετε όλες αυτές τις δυνατότητες για να επιτύχετε την τυπική λειτουργικότητα Spark και Delta Lake. Οι χρόνοι εκτέλεσης Fabric για το Apache Spark περιλαμβάνουν:
- Η πλήρης έκδοση ανοιχτού κώδικα του Apache Spark.
- Μια συλλογή σχεδόν 100 ενσωματωμένων, διακριτών βελτιώσεων απόδοσης ερωτημάτων. Αυτές οι βελτιώσεις περιλαμβάνουν δυνατότητες όπως η προσωρινή αποθήκευση διαμερίσματος (η ενεργοποίηση του cache διαμερίσματος FileSystem για τη μείωση των κλήσεων μεταστάσεων) και η διασταυρούμενη σύνδεση στην προβολή ανυσματικών δευτερευουσών ερωτημάτων.
- Ενσωματωμένο έξυπνο cache.
Στο πλαίσιο του Fabric Runtime για το Apache Spark και το Delta Lake, οι δυνατότητες εγγενούς εγγραφής εξυπηρετούν δύο βασικούς σκοπούς:
- Προσφέρουν διαφοροποιημένες επιδόσεις για τη σύνταξη φόρτων εργασίας, βελτιστοποιώντας τη διαδικασία εγγραφής.
- Από προεπιλογή είναι η βελτιστοποίηση V-order των αρχείων Delta Parquet. Η βελτιστοποίηση Delta Lake V-order είναι ζωτικής σημασίας για την παροχή ανώτερης απόδοσης ανάγνωσης σε όλους τους κινητήρες Fabric. Για να αποκτήσετε μια βαθύτερη κατανόηση του τρόπου λειτουργίας και του τρόπου διαχείρισής του, ανατρέξτε στο θέμα Βελτιστοποίηση πίνακα Delta Lake και V-order.
Υποστήριξη πολλών εκτελέσεων/εκτελέσεων
Fabric υποστηρίζει πολλαπλούς χρόνους εκτέλεσης, ώστε να μπορείτε να κάνετε εναλλαγή μεταξύ τους και να μειώσετε τον κίνδυνο προβλημάτων συμβατότητας ή διακοπών.
Σημείωμα
Ένας χρόνος εκτέλεσης Spark περιλαμβάνει μια συγκεκριμένη έκδοση Python ως μέρος του συνόλου στοιχείων της. Για παράδειγμα, το Runtime 1.3 περιλαμβάνει Python 3.11. Αυτή η έκδοση Python είναι ξεχωριστή από τον πυρήνα του σημειωματάριου Python που επιλέγετε για καθαρά σημειωματάρια Python. Για τον κύκλο ζωής του πυρήνα του σημειωματαρίου Python, ανατρέξτε στο θέμα Χρόνος εκτέλεσης σημειωματαρίου Python και κύκλος ζωής πυρήνα στο Fabric.
Από προεπιλογή, όλοι οι νέοι χώροι εργασίας χρησιμοποιούν την πιο πρόσφατη έκδοση χρόνου εκτέλεσης GA, η οποία είναι επί του παρόντος Runtime 1.3.
Για να αλλάξετε την έκδοση του χρόνου εκτέλεσης σε επίπεδο χώρου εργασίας, μεταβείτε στις ρυθμίσεις του Workspace>Data Engineering/Science>Spark ρυθμίσεις. Από την καρτέλα περιβάλλοντος
Αφού κάνετε αυτήν την αλλαγή, όλα τα στοιχεία που δημιουργούνται από το σύστημα εντός του χώρου εργασίας, συμπεριλαμβανομένων των λιμνών, των περιγραφών εργασιών Spark και των σημειωματάριων, χρησιμοποιούν την πρόσφατα επιλεγμένη έκδοση χρόνου εκτέλεσης σε επίπεδο χώρου εργασίας ξεκινώντας από την επόμενη περίοδο λειτουργίας Spark. Εάν αυτήν τη στιγμή χρησιμοποιείτε ένα σημειωματάριο με μια υπάρχουσα περίοδο λειτουργίας για μια εργασία ή οποιαδήποτε δραστηριότητα που σχετίζεται με το lakehouse, αυτή η περίοδος λειτουργίας Spark συνεχίζεται ως έχει. Ωστόσο, ξεκινώντας από την επόμενη συνεδρία ή εργασία, ισχύει η επιλεγμένη έκδοση χρόνου εκτέλεσης.
Για να αλλάξετε τον χρόνο εκτέλεσης σε Environment επίπεδο στοιχείου, δημιουργήστε ένα νέο στοιχείο περιβάλλοντος ή ανοίξτε ένα υπάρχον. Στην αναπτυσσόμενη λίστα Runtime , επιλέξτε την επιθυμητή έκδοση χρόνου εκτέλεσης από τις διαθέσιμες επιλογές, επιλέξτε Saveκαι, στη συνέχεια Publish , τις αλλαγές σας. Στη συνέχεια, μπορείτε να χρησιμοποιήσετε αυτό το στοιχείο με το Environment δικό σας Notebook ή Spark Job Definition.
Συνέπειες των αλλαγών χρόνου εκτέλεσης στις ρυθμίσεις Spark
Το σύστημα μετεγκαθιστά όλες τις ρυθμίσεις Spark. Ωστόσο, εάν το σύστημα εντοπίσει ότι μια ρύθμιση Spark δεν είναι συμβατή με τον χρόνο εκτέλεσης B, εμφανίζει ένα προειδοποιητικό μήνυμα και δεν εφαρμόζει τη ρύθμιση.
Συνέπειες των αλλαγών στον χρόνο εκτέλεσης στη διαχείριση βιβλιοθήκης
Το σύστημα διαχείρισης βιβλιοθηκών μετεγκαθιστά όλες τις βιβλιοθήκες από το χρόνο εκτέλεσης Α στο χρόνο εκτέλεσης Β, συμπεριλαμβανομένων τόσο των δημόσιων όσο και των προσαρμοσμένων χρόνων εκτέλεσης. Εάν οι εκδόσεις Python και R παραμείνουν ίδιες, οι βιβλιοθήκες λειτουργούν σωστά. Ωστόσο, για τα JAR, υπάρχει σημαντική πιθανότητα να μην λειτουργούν λόγω αλλαγών στις εξαρτήσεις και άλλων παραγόντων, όπως αλλαγές στο Scala, την Java, το Spark και το λειτουργικό σύστημα.
Είστε υπεύθυνοι για την ενημέρωση ή την αντικατάσταση τυχόν βιβλιοθηκών που δεν λειτουργούν με το Runtime B. Εάν υπάρχει διένεξη, που σημαίνει ότι το Runtime B περιλαμβάνει μια βιβλιοθήκη που ορίστηκε αρχικά στο Runtime A, το σύστημα διαχείρισης βιβλιοθήκης προσπαθεί να δημιουργήσει την απαραίτητη εξάρτηση για το Runtime B με βάση τις ρυθμίσεις σας. Ωστόσο, η διαδικασία κατασκευής αποτυγχάνει εάν προκύψει σύγκρουση. Στο αρχείο καταγραφής σφαλμάτων, μπορείτε να δείτε ποιες βιβλιοθήκες προκαλούν διενέξεις και να κάνετε προσαρμογές στις εκδόσεις ή τις προδιαγραφές τους.
Αναβάθμιση του πρωτοκόλλου Delta Lake
Οι λειτουργίες του Delta Lake είναι πάντα συμβατές προς τα πίσω, διασφαλίζοντας ότι οι πίνακες που δημιουργούνται σε χαμηλότερη έκδοση Delta Lake μπορούν να αλληλεπιδρούν απρόσκοπτα με υψηλότερες εκδόσεις. Ωστόσο, όταν ενεργοποιείτε ορισμένες δυνατότητες (για παράδειγμα, χρησιμοποιώντας τη delta.upgradeTableProtocol(minReaderVersion, minWriterVersion) μέθοδο), ενδέχεται να θέσετε σε κίνδυνο τη συμβατότητα προς τα εμπρός με χαμηλότερες εκδόσεις Delta Lake. Σε τέτοιες περιπτώσεις, πρέπει να τροποποιήσετε τους φόρτους εργασίας που αναφέρονται στους αναβαθμισμένους πίνακες για να ευθυγραμμιστούν με μια έκδοση Delta Lake που διατηρεί τη συμβατότητα.
Κάθε πίνακας Delta σχετίζεται με μια προδιαγραφή πρωτοκόλλου, η οποία καθορίζει τις δυνατότητες που υποστηρίζει. Οι εφαρμογές που αλληλεπιδρούν με τον πίνακα, είτε για ανάγνωση είτε για εγγραφή, βασίζονται σε αυτήν την προδιαγραφή πρωτοκόλλου για να προσδιορίσουν εάν είναι συμβατές με το σύνολο δυνατοτήτων του πίνακα. Εάν μια εφαρμογή δεν έχει τη δυνατότητα να χειριστεί μια δυνατότητα που αναφέρεται ως υποστηριζόμενη στο πρωτόκολλο του πίνακα, δεν μπορεί να διαβάσει ή να γράψει σε αυτόν τον πίνακα.
Η προδιαγραφή πρωτοκόλλου χωρίζεται σε δύο διακριτά στοιχεία: το πρωτόκολλο "ανάγνωσης" και το πρωτόκολλο "εγγραφής". Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Πώς διαχειρίζεται το Delta Lake τη συμβατότητα δυνατοτήτων;
Μπορείτε να εκτελέσετε την εντολή delta.upgradeTableProtocol(minReaderVersion, minWriterVersion) στο περιβάλλον PySpark και στο Spark SQL και Scala. Αυτή η εντολή ξεκινά μια ενημέρωση στον πίνακα Delta.
Όταν εκτελείτε αυτήν την αναβάθμιση, λαμβάνετε μια προειδοποίηση ότι η αναβάθμιση της έκδοσης πρωτοκόλλου Delta είναι μια μη αναστρέψιμη διαδικασία. Αυτή η διαδικασία σημαίνει ότι μόλις εκτελέσετε την ενημέρωση, δεν μπορείτε να την αναιρέσετε.
Οι αναβαθμίσεις έκδοσης πρωτοκόλλου ενδέχεται να επηρεάσουν τη συμβατότητα των υπαρχόντων προγραμμάτων ανάγνωσης πινάκων Delta Lake, των προγραμμάτων εγγραφής ή και των δύο. Επομένως, προχωρήστε με προσοχή και αναβαθμίστε την έκδοση πρωτοκόλλου μόνο όταν είναι απαραίτητο, όπως κατά την υιοθέτηση νέων λειτουργιών στο Delta Lake.
Σημαντικό
Για να μάθετε περισσότερα σχετικά με τις εκδόσεις πρωτοκόλλου και τις δυνατότητες που είναι συμβατές σε όλες τις εμπειρίες Fabric, ανατρέξτε στο θέμα Διαλειτουργικότητα μορφής πίνακα Delta Lake.
Επιπλέον, βεβαιωθείτε ότι όλοι οι τρέχοντες και μελλοντικοί φόρτοι εργασίας και διαδικασίες παραγωγής είναι συμβατοί με τους πίνακες Delta Lake χρησιμοποιώντας τη νέα έκδοση πρωτοκόλλου για να διασφαλίσετε την απρόσκοπτη μετάβαση και να αποτρέψετε τυχόν διακοπές.