Κοινή χρήση μέσω


Τι είναι το autotune για διαμορφώσεις Apache Spark στο Fabric;

Το Autotune ρυθμίζει αυτόματα τη ρύθμιση παραμέτρων apache Spark για να επιταχύνει την εκτέλεση φόρτου εργασίας και να βελτιστοποιήσει τις συνολικές επιδόσεις. Το Autotune εξοικονομεί χρόνο και πόρους σε σύγκριση με τη μη αυτόματη ρύθμιση, το οποίο απαιτεί μεγάλη προσπάθεια, πόρους, χρόνο και πειραματισμό. Το Autotune χρησιμοποιεί δεδομένα ιστορικού εκτέλεσης από τους φόρτους εργασίας σας για να εντοπίσει επαναληπτικά και να εφαρμόσει τις πιο αποτελεσματικές ρυθμίσεις παραμέτρων για έναν συγκεκριμένο φόρτο εργασίας.

Σημείωση

Η δυνατότητα ρύθμισης ερωτημάτων autotune στο Microsoft Fabric είναι αυτήν τη στιγμή σε προεπισκόπηση. Το Autotune είναι διαθέσιμο σε όλες τις περιοχές παραγωγής, αλλά είναι απενεργοποιημένο από προεπιλογή. Μπορείτε να την ενεργοποιήσετε μέσω της ρύθμισης παραμέτρων Spark εντός του περιβάλλοντος ή εντός μίας περιόδου λειτουργίας, συμπεριλαμβάνοντας την αντίστοιχη ρύθμιση Spark στο σημειωματάριο Spark ή τον κώδικα Spark Job Definition.

Ρύθμιση ερωτημάτων

Το Autotune ρυθμίζει τις παραμέτρους τριών ρυθμίσεων Apache Spark για καθένα από τα ερωτήματά σας ξεχωριστά:

  • spark.sql.shuffle.partitions - Ορίζει το πλήθος διαμερισμάτων για την ανακατεύθυνση δεδομένων κατά τη διάρκεια συνδέσμων ή συναθροίσεων. Η προεπιλεγμένη τιμή είναι 200.
  • spark.sql.autoBroadcastJoinThreshold - Ορίζει το μέγιστο μέγεθος πίνακα σε byte που μεταδίδεται σε όλους τους κόμβους εργαζομένων όταν εκτελείται η λειτουργία σύνδεσης. Η προεπιλεγμένη τιμή είναι 10 MB.
  • spark.sql.files.maxPartitionBytes - Ορίζει τον μέγιστο αριθμό byte για συσκευασία σε ένα ενιαίο διαμέρισμα κατά την ανάγνωση αρχείων. Λειτουργεί για προελεύσεις βάσει αρχείων Parquet, JSON και ORC. Η προεπιλογή είναι 128 MB.

Φιλοδώρημα

Η ρύθμιση ερωτημάτων autotune εξετάζει μεμονωμένα ερωτήματα και δημιουργεί ένα ξεχωριστό μοντέλο εκμάθησης μηχανής για κάθε ερώτημα. Στοχεύει συγκεκριμένα:

  • Επαναλαμβανόμενα ερωτήματα
  • Ερωτήματα μεγάλης διάρκειας (εκείνα με περισσότερα από 15 δευτερόλεπτα εκτέλεσης)
  • Ερωτήματα API Apache Spark SQL (εξαιρώντας τα ερωτήματα που έχουν συνταχθεί στο RDD API, τα οποία είναι πολύ σπάνια), αλλά βελτιστοποιούμε όλα τα ερωτήματα ανεξάρτητα από τη γλώσσα (Scala, PySpark, R, Spark SQL)

Αυτή η δυνατότητα είναι συμβατή με σημειωματάρια, ορισμούς εργασίας Apache Spark και διοχετεύσεις. Τα οφέλη ποικίλλουν με βάση την πολυπλοκότητα του ερωτήματος, τις μεθόδους που χρησιμοποιούνται και τη δομή. Οι εκτεταμένες δοκιμές έχουν δείξει ότι τα μεγαλύτερα πλεονεκτήματα υλοποιούνται με ερωτήματα που σχετίζονται με τη διερευνητική ανάλυση δεδομένων, όπως η ανάγνωση δεδομένων, η εκτέλεση συνδέσμων, οι συναθροίσεις και η ταξινόμηση.

Στιγμιότυπο οθόνης του χρόνου εκτέλεσης με ενεργοποιημένο το autotune.

Διαίσθηση βάσει AI πίσω από το Autotune

Η δυνατότητα αυτόματου συντονισμού χρησιμοποιεί μια επαναληπτική διαδικασία για τη βελτιστοποίηση των επιδόσεων των ερωτημάτων. Ξεκινά με μια προεπιλεγμένη ρύθμιση παραμέτρων και χρησιμοποιεί ένα μοντέλο εκμάθησης μηχανής για την αξιολόγηση της αποτελεσματικότητας. Όταν ένας χρήστης υποβάλλει ένα ερώτημα, το σύστημα ανακτά τα αποθηκευμένα μοντέλα με βάση τις προηγούμενες αλληλεπιδράσεις. Δημιουργεί πιθανές ρυθμίσεις παραμέτρων γύρω από μια προεπιλεγμένη ρύθμιση που ονομάζεται centroid. Εφαρμόζεται ο καλύτερος υποψήφιος που προβλέπεται από το μοντέλο. Μετά την εκτέλεση του ερωτήματος, τα δεδομένα επιδόσεων αποστέλλονται πίσω στο σύστημα για τη βελτίωση του μοντέλου.

Ο βρόχος ανάδρασης μετατοπίζει σταδιακά το κέντρο προς τις βέλτιστες ρυθμίσεις. Βελτιώνει την απόδοση με την πάροδο του χρόνου, ελαχιστοποιώντας τον κίνδυνο παλινδρόμησης. Οι συνεχείς ενημερώσεις που βασίζονται σε ερωτήματα χρηστών επιτρέπουν τη βελτίωση των δοκιμών απόδοσης. Επιπλέον, η διαδικασία ενημερώνει τις centroid διαμορφώσεις για να εξασφαλίσει ότι το μοντέλο κινείται προς πιο αποτελεσματικές ρυθμίσεις σταδιακά. Αυτό επιτυγχάνεται με την αξιολόγηση προηγούμενων επιδόσεων και τη χρήση τους για την καθοδήγηση μελλοντικών προσαρμογών. Χρησιμοποιεί όλα τα σημεία δεδομένων για να μετριάσει την επίδραση των ανωμαλιών.

Από την πλευρά της υπεύθυνης τεχνητής νοημοσύνης, η δυνατότητα Autotune περιλαμβάνει μηχανισμούς διαφάνειας που έχουν σχεδιαστεί για να σας ενημερώνουν σχετικά με τη χρήση και τα οφέλη των δεδομένων σας. Η ασφάλεια και η προστασία προσωπικών δεδομένων εναρμονίζονται με τα πρότυπα της Microsoft. Η συνεχής παρακολούθηση διατηρεί την απόδοση και την ακεραιότητα του συστήματος μετά την εκκίνηση.

Ενεργοποίηση του autotune

Το Autotune είναι διαθέσιμο σε όλες τις περιοχές παραγωγής, αλλά είναι απενεργοποιημένο από προεπιλογή. Μπορείτε να την ενεργοποιήσετε μέσω της ρύθμισης παραμέτρων Spark μέσα στο περιβάλλον. Για να ενεργοποιήσετε το Autotune, δημιουργήστε ένα νέο περιβάλλον ή, για το υπάρχον περιβάλλον, ορίστε την ιδιότητα Spark 'spark.ms.autotune.enabled = true' όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης. Αυτή η ρύθμιση μεταβιβάζεται έπειτα από όλα τα σημειωματάρια και τις εργασίες που εκτελούνται σε αυτό το περιβάλλον, ρυθμίζοντας τα αυτόματα.

Στιγμιότυπο οθόνης ενεργοποίησης του autotune.

Το Autotune περιλαμβάνει έναν ενσωματωμένο μηχανισμό για την παρακολούθηση επιδόσεων και τον εντοπισμό παλινδρόμησης επιδόσεων. Για παράδειγμα, εάν ένα ερώτημα επεξεργάζεται ασυνήθιστα μεγάλο όγκο δεδομένων, το Autotune θα απενεργοποιηθεί αυτόματα. Συνήθως απαιτεί 20 έως 25 επαναλήψεις για να μάθετε και να προσδιορίσετε τη βέλτιστη ρύθμιση παραμέτρων.

Σημείωση

Το Autotune είναι συμβατό με το Fabric Runtime 1.1 και το Runtime 1.2. Το Autotune δεν λειτουργεί όταν είναι ενεργοποιημένη η λειτουργία υψηλής ταυτόχρονης εκτέλεσης ή όταν είναι ενεργοποιημένο το ιδιωτικό τελικό σημείο . Ωστόσο, η αυτόματη ρύθμιση ενοποιείται απρόσκοπτα με την αυτόματη κλιμάκωση, ανεξάρτητα από τη ρύθμιση παραμέτρων της.

Μπορείτε να ενεργοποιήσετε το autotune σε μία μόνο περίοδο λειτουργίας, συμπεριλαμβάνοντας την αντίστοιχη ρύθμιση Spark στο σημειωματάριό σας Spark ή στον κώδικα Spark Job Definition.

%%sql
SET spark.ms.autotune.enabled=TRUE

Μπορείτε να ελέγξετε το Autotune μέσω των ρυθμίσεων Spark για το αντίστοιχο σημειωματάριο Spark ή τον κωδικό ορισμού εργασίας Spark. Για να απενεργοποιήσετε το Autotune, εκτελέστε τις ακόλουθες εντολές ως το πρώτο κελί (σημειωματάριο) ή τη γραμμή του κώδικα (SJD).

%%sql 
SET spark.ms.autotune.enabled=FALSE 

Μελέτη περίπτωσης

Κατά την εκτέλεση ενός ερωτήματος Apache Spark, η αυτόματη ρύθμιση δημιουργεί ένα προσαρμοσμένο μοντέλο εκμάθησης μηχανής που είναι αποκλειστικό για τη βελτιστοποίηση της εκτέλεσης του ερωτήματος. Αναλύει μοτίβα ερωτημάτων και ανάγκες πόρων. Εξετάστε ένα αρχικό ερώτημα που φιλτράρει ένα σύνολο δεδομένων με βάση ένα συγκεκριμένο χαρακτηριστικό, όπως μια χώρα. Παρόλο που αυτό το παράδειγμα χρησιμοποιεί φιλτράρισμα βάσει γεωγραφικής τοποθεσίας, η αρχή ισχύει καθολικά για οποιοδήποτε χαρακτηριστικό ή λειτουργία εντός του ερωτήματος:

%%pyspark
df.filter(df.country == "country-A")

Το Autotune μαθαίνει από αυτό το ερώτημα, βελτιστοποιώντας τις επόμενες εκτελέσεις. Όταν το ερώτημα αλλάζει, για παράδειγμα, αλλάζοντας την τιμή του φίλτρου ή εφαρμόζοντας έναν διαφορετικό μετασχηματισμό δεδομένων, η δομική ουσία του ερωτήματος παραμένει συχνά συνεπής:

%%pyspark
df.filter(df.country == "country-B")

Παρά τις αλλαγές, το autotune αναγνωρίζει τη θεμελιώδη δομή του νέου ερωτήματος, υλοποιεί βελτιστοποιήσεις που έχουν ήδη μάθει. Αυτή η δυνατότητα εξασφαλίζει συνεχή υψηλή αποδοτικότητα χωρίς την ανάγκη μη αυτόματης επανάληψης παραμέτρων για κάθε νέα επανάληψη ερωτημάτων.

Αρχεία καταγραφής

Για κάθε ένα από τα ερωτήματά σας, το autotune καθορίζει τις βέλτιστες ρυθμίσεις για τρεις ρυθμίσεις Spark. Μπορείτε να δείτε τις προτεινόμενες ρυθμίσεις μεταβαίνοντας στα αρχεία καταγραφής. Οι ρυθμίσεις παραμέτρων που συνιστώνται από το autotune βρίσκονται στα αρχεία καταγραφής προγραμμάτων οδήγησης, συγκεκριμένα σε αυτές τις καταχωρήσεις που ξεκινούν με [Autotune].

Στιγμιότυπο οθόνης των αρχείων καταγραφής αυτόματης ρύθμισης εντός του Κέντρου παρακολούθησης.

Μπορείτε να βρείτε διάφορους τύπους καταχωρήσεων στα αρχεία καταγραφής σας. Τα παρακάτω περιλαμβάνουν τα βασικά:

Status Περιγραφή
AUTOTUNE_DISABLED Παραλείπεται. Το Autotune είναι απενεργοποιημένο. αποτροπή ανάκτησης δεδομένων τηλεμετρίας και βελτιστοποίησης ερωτημάτων. Ενεργοποιήστε το Autotune για να χρησιμοποιήσετε πλήρως τις δυνατότητές του με σεβασμό στην προστασία προσωπικών δεδομένων των πελατών.".
QUERY_TUNING_DISABLED Παραλείπεται. Η ρύθμιση ερωτημάτων autotune είναι απενεργοποιημένη. Ενεργοποιήστε το για να επεξεργαστείτε τις ρυθμίσεις για τα ερωτήματά σας Spark SQL.
QUERY_PATTERN_NOT_MATCH Παραλείπεται. Το μοτίβο ερωτήματος δεν συμφωνεί. Το Autotune είναι αποτελεσματικό για ερωτήματα μόνο για ανάγνωση.
QUERY_DURATION_TOO_SHORT Παραλείπεται. Η διάρκεια του ερωτήματός σας είναι πολύ μικρή για βελτιστοποίηση. Το Autotune απαιτεί μεγαλύτερα ερωτήματα για αποτελεσματική ρύθμιση. Τα ερωτήματα θα πρέπει να εκτελούνται για τουλάχιστον 15 δευτερόλεπτα.
QUERY_TUNING_SUCCEED Επιτυχής ανάθεση. Η ρύθμιση του ερωτήματος ολοκληρώθηκε. Εφαρμοσμένες βέλτιστες ρυθμίσεις spark.

Σημείωση διαφάνειας

Σε συμμόρφωση με το υπεύθυνο πρότυπο AI, αυτή η ενότητα έχει ως στόχο να αποσαφηνίσει τις χρήσεις και την επικύρωση της δυνατότητας Autotune, προωθώντας τη διαφάνεια και επιτρέποντας τη λήψη τεκμηριωμένων αποφάσεων.

Σκοπός του Autotune

Το Autotune αναπτύσσεται για να βελτιώσει την αποτελεσματικότητα του φόρτου εργασίας Apache Spark, κυρίως για επαγγελματίες δεδομένων. Οι βασικές συναρτήσεις του περιλαμβάνουν:

  • Αυτοματοποίηση ρύθμισης παραμέτρων Apache Spark για τη μείωση των χρόνων εκτέλεσης.
  • Ελαχιστοποιεί τις προσπάθειες μη αυτόματης ρύθμισης.
  • Χρησιμοποιώντας δεδομένα φόρτου εργασίας ιστορικού για να περιορίσετε επαναληπτικά τις ρυθμίσεις παραμέτρων.

Επικύρωση του Autotune

Το Autotune έχει υποβληθεί σε εκτεταμένες δοκιμές για να διασφαλιστεί η αποτελεσματικότητά του και η ασφάλειά του:

  • Αυστηρές δοκιμές με διαφορετικούς φόρτους εργασίας Spark για την επαλήθευση της αποτελεσματικότητας του αλγόριθμου ρύθμισης.
  • Συγκριτική αξιολόγηση σε σχέση με τις τυπικές μεθόδους βελτιστοποίησης Spark για την επίδειξη των πλεονεκτημάτων των επιδόσεων.
  • Πραγματικές περιπτωσιολογικές μελέτες που αναδεικνύουν την πρακτική αξία του Autotune.
  • Συμμόρφωση με αυστηρά πρότυπα ασφάλειας και προστασίας προσωπικών δεδομένων για την προστασία των δεδομένων των χρηστών.

Τα δεδομένα χρήστη χρησιμοποιούνται αποκλειστικά για τη βελτίωση των επιδόσεων του φόρτου εργασίας σας, με ισχυρή προστασία για την πρόληψη της κακής χρήσης ή της έκθεσης ευαίσθητων πληροφοριών.