Σύμβουλος Apache Spark για συμβουλές σε πραγματικό χρόνο σε σημειωματάρια
Ο σύμβουλος Apache Spark αναλύει εντολές και κώδικα που εκτελούνται από το Apache Spark και εμφανίζει συμβουλές σε πραγματικό χρόνο για εκτελέσεις σημειωματάριου. Ο σύμβουλος Apache Spark διαθέτει ενσωματωμένα μοτίβα για να βοηθήσει τους χρήστες να αποφεύγουν συνήθη λάθη. Προσφέρει προτάσεις για βελτιστοποίηση κώδικα, εκτελεί ανάλυση σφαλμάτων και εντοπίζει τη βασική αιτία των αποτυχιών.
Ενσωματωμένες συμβουλές
Ο σύμβουλος Spark, ένα εργαλείο ενσωματωμένο στην Παρορμητικό, παρέχει ενσωματωμένα μοτίβα για τον εντοπισμό και την επίλυση ζητημάτων στις εφαρμογές Apache Spark. Αυτό το άρθρο εξηγεί ορισμένα από τα μοτίβα που περιλαμβάνονται στο εργαλείο.
Μπορείτε να ανοίξετε το παράθυρο Πρόσφατες εκτελέσεις με βάση τον τύπο των συμβουλών που χρειάζεστε.
Μπορεί να επιστρέφει μη συνεπή αποτελέσματα κατά τη χρήση της "τυχαίας σχισμής"
Μη συνεπή ή ανακριβή αποτελέσματα μπορεί να επιστραφούν όταν εργάζεστε με τη μέθοδο randomSplit . Χρησιμοποιήστε την προσωρινή αποθήκευση Apache Spark (RDD) πριν χρησιμοποιήσετε τη μέθοδο randomSplit().
Η μέθοδος randomSplit() ισοδυναμεί με εκτέλεση sample() στο πλαίσιο δεδομένων σας πολλές φορές. Όπου κάθε δείγμα αντιστοιχίζει, χωρίζει και ταξινομεί το πλαίσιο δεδομένων σας σε διαμερίσματα. Η κατανομή δεδομένων σε διαμερίσματα και σειρά ταξινόμησης είναι σημαντική τόσο για την randomSplit() όσο και για την sample(). Εάν οποιαδήποτε από τις αλλαγές κατά την επανάληψη δεδομένων, ενδέχεται να υπάρχουν διπλότυπες τιμές ή τιμές που λείπουν σε διαιρέσεις. Και το ίδιο δείγμα που χρησιμοποιεί τον ίδιο σπόρο μπορεί να παράγει διαφορετικά αποτελέσματα.
Αυτές οι ασυνέπειες ενδέχεται να μην συμβαίνουν σε κάθε εκτέλεση, αλλά για να τις εξαλείψετε πλήρως, αποθηκεύστε στο cache το πλαίσιο δεδομένων σας, κάντε επαναμεροποίηση σε μια στήλη ή εφαρμόστε συναρτήσεις συγκεντρωτικών αποτελεσμάτων όπως η groupBy.
Το όνομα πίνακα/προβολής χρησιμοποιείται ήδη
Υπάρχει ήδη μια προβολή με το ίδιο όνομα με τον πίνακα που δημιουργήθηκε ή υπάρχει ήδη ένας πίνακας με το ίδιο όνομα με την προβολή που δημιουργήθηκε. Όταν αυτό το όνομα χρησιμοποιείται σε ερωτήματα ή εφαρμογές, μόνο η προβολή θα επιστραφεί ανεξάρτητα από το όνομα που δημιουργήθηκε πρώτο. Για να αποφύγετε διενέξεις, μετονομάστε είτε τον πίνακα, είτε την προβολή.
Δεν είναι δυνατή η αναγνώριση μιας υπόδειξης
spark.sql("SELECT /*+ unknownHint */ * FROM t1")
Δεν είναι δυνατή η εύρεση καθορισμένων ονομάτων σχέσης
Δεν είναι δυνατή η εύρεση των σχέσεων που καθορίζονται στην υπόδειξη. Επαληθεύστε ότι οι σχέσεις έχουν ορθογραφηθεί σωστά και είναι προσβάσιμες εντός της εμβέλειας της υπόδειξης.
spark.sql("SELECT /*+ BROADCAST(unknownTable) */ * FROM t1 INNER JOIN t2 ON t1.str = t2.str")
Μια υπόδειξη στο ερώτημα αποτρέπει την εφαρμογή άλλης υπόδειξης
Το επιλεγμένο ερώτημα περιέχει μια υπόδειξη που αποτρέπει την εφαρμογή άλλης υπόδειξης.
spark.sql("SELECT /*+ BROADCAST(t1), MERGE(t1, t2) */ * FROM t1 INNER JOIN t2 ON t1.str = t2.str")
Ενεργοποιήστε το 'spark.advise.divisionExprConvertRule.enable' για να μειώσετε τη μετάδοση σφάλματος στρογγυλοποίηση
Αυτό το ερώτημα περιέχει την παράσταση με τύπο Double. Συνιστούμε να ενεργοποιήσετε τη ρύθμιση παραμέτρων 'spark.advise.divisionExprConvertRule.enable', η οποία μπορεί να βοηθήσει στη μείωση των παραστάσεων διαίρεσης και στη μείωση της μετάδοσης σφάλματος στρογγυλοποίησης.
"t.a/t.b/t.c" convert into "t.a/(t.b * t.c)"
Ενεργοποιήστε το 'spark.advise.nonEqJoinConvertRule.enable' για να βελτιώσετε τις επιδόσεις του ερωτήματος
Αυτό το ερώτημα περιέχει χρονοβόρα σύνδεση λόγω της συνθήκης "Or" εντός του ερωτήματος. Συνιστούμε να ενεργοποιήσετε τη ρύθμιση παραμέτρων 'spark.advise.nonEqJoinConvertRule.enable', η οποία μπορεί να σας βοηθήσει να μετατρέψετε τον σύνδεσμο που ενεργοποιείται από τη συνθήκη "Or" σε SMJ ή BHJ για να επιταχύνετε αυτό το ερώτημα.
Εμπειρία χρήστη
Ο σύμβουλος Apache Spark εμφανίζει τις συμβουλές, συμπεριλαμβανομένων πληροφοριών, προειδοποιήσεων και σφαλμάτων, στην έξοδο του κελιού Notebook σε πραγματικό χρόνο.
Πληροφορίες
Προειδοποίηση
Σφάλμα
Ρύθμιση Spark Advisor
Η ρύθμιση Spark advisor σάς επιτρέπει να επιλέξετε αν θα εμφανίσετε ή θα αποκρύψετε συγκεκριμένους τύπους συμβουλών Spark σύμφωνα με τις ανάγκες σας. Επιπλέον, έχετε την ευελιξία να ενεργοποιήσετε ή να απενεργοποιήσετε το Spark Advisor για τα Σημειωματάριά σας εντός ενός χώρου εργασίας, με βάση τις προτιμήσεις σας.
Μπορείτε να αποκτήσετε πρόσβαση στις ρυθμίσεις του Spark Advisor σε επίπεδο Fabric Notebook για να απολαύσετε τα πλεονεκτήματά του και να εξασφαλίσετε μια παραγωγική εμπειρία σύνταξης σημειωματάριου.