Σημείωμα
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Η δημιουργία συμπλεγμάτων Liquid είναι μια ευέλικτη στρατηγική διάταξης δεδομένων για πίνακες Delta στο Microsoft Fabric. Αντικαθιστά τη στατική κατάτμηση τύπου Hive και τη χειροκίνητη συντήρηση Z-Order με δηλωτική, φιλική προς τις αλλαγές ομαδοποίηση. Ορίζετε σε ποιες στήλες θα συμπλέγματα και το Fabric Spark Runtime χειρίζεται αυτόματα τη διάταξη φυσικών δεδομένων.
Χρησιμοποιήστε αυτό το άρθρο για:
- Κατανοήστε πώς λειτουργεί η ομαδοποίηση υγρών και πότε να τη χρησιμοποιήσετε.
- Συγκρίνετε την ομαδοποίηση υγρών με την κατάτμηση και τη σειρά Z.
- Ρυθμίστε τις παραμέτρους της δημιουργίας συμπλεγμάτων στους πίνακές σας.
- Κατανοήστε την αυξητική ομαδοποίηση υγρών (Runtime 2.0+).
- Συντονίστε τη συμπεριφορά δημιουργίας συμπλεγμάτων με τις ρυθμίσεις συνεδριών.
Τι είναι η ομαδοποίηση υγρών;
Η υγρή ομαδοποίηση οργανώνει τα δεδομένα σε αρχεία πίνακα Delta, έτσι ώστε να συνυπάρχουν σειρές με παρόμοιες τιμές στις στήλες ομαδοποίησης. Η διάταξη επιτρέπει τη βελτιωμένη παράλειψη αρχείων κατά την εκτέλεση ερωτήματος: όταν ένα ερώτημα φιλτράρει σε στήλες ομαδοποίησης, ο μηχανισμός διαβάζει μόνο τα αρχεία των οποίων οι περιοχές τιμών ταιριάζουν με το κατηγόρημα, παρακάμπτοντας τα υπόλοιπα.
Σε αντίθεση με την κατάτμηση, η ομαδοποίηση υγρών:
- Δεν δημιουργεί δομές φυσικού καταλόγου ανά τιμή στήλης.
- Δεν απαιτεί να επιλέξετε στήλες ομαδοποίησης κατά τη δημιουργία πίνακα (μπορούν να αλλάξουν αργότερα).
- Χειρίζεται στήλες υψηλής πληθικότητας χωρίς να δημιουργεί πιθανά προβλήματα μικρών αρχείων από χιλιάδες μικροσκοπικά διαμερίσματα.
- Εφαρμόζει βελτιστοποίηση διάταξης κατά τη διάρκεια
OPTIMIZEτου , όχι κατά το χρόνο εγγραφής.
Πλεονεκτήματα σε σχέση με την κατάτμηση και το Z-Order
Η ομαδοποίηση υγρών προσφέρει σημαντικά πλεονεκτήματα τόσο σε σχέση με την κατάτμηση τύπου Hive όσο και με την Τάξη Z όσον αφορά την ευελιξία, τη συντήρηση και τον χειρισμό των εξελισσόμενων μοτίβων δεδομένων.
Σε σύγκριση με την κατάτμηση τύπου Hive
| Άποψη | Κατάτμηση τύπου κυψέλης | Ομαδοποίηση Υγρού |
|---|---|---|
| Υποδιαίρεση | Ένας κατάλογος ανά διακριτή τιμή (ή συνδυασμό) | Εύρη τιμών σε επίπεδο αρχείου, χωρίς καταλόγους |
| Υψηλή πληθικότητα | Δημιουργεί χιλιάδες μικρά αρχεία/καταλόγους | Χειρίζεται φυσικά. Αποθηκεύει δεδομένα σε αρχεία σωστού μεγέθους |
| Αλλαγές στηλών | Απαιτεί πλήρη επανεγγραφή πίνακα |
ALTER TABLE ... CLUSTER BY Ισχύει την επόμενη OPTIMIZE |
| Διαδρομή εγγραφής | Η στήλη διαμερίσματος πρέπει να είναι γνωστή κατά το χρόνο εγγραφής | Οποιαδήποτε στήλη μπορεί να ομαδοποιηθεί εκ των υστέρων |
| Πρόβλημα μικρού αρχείου | Κοινό με ροή ή συχνά ένθετα | Διαχείριση με OPTIMIZE συμπίεση |
Σε σύγκριση με το Z-Order
| Άποψη | Σειρά Z | Ομαδοποίηση Υγρού |
|---|---|---|
| Αλλαγές στηλών | Πρέπει να εκτελεστεί OPTIMIZE ZORDER BY (...) ξανά με νέες στήλες |
ALTER TABLE ... CLUSTER BY επιμένει στον ορισμό |
| Σταδιακή υποστήριξη | Χωρίς αυξητική λειτουργία. Χρησιμοποιήστε WHERE το για να περιορίσετε το εύρος με μη αυτόματο τρόπο |
Η επαυξητική λειτουργία (Runtime 2.0+) επεξεργάζεται αυτόματα μόνο νέα, τροποποιημένα ή μη υγιή αρχεία |
| Metadata | Δεν υπάρχει μόνιμος ορισμός στήλης | Δημιουργία συμπλέγματος στηλών αποθηκευμένων σε μετα-δεδομένα πίνακα |
| Διάταξη πολλών στηλών | Η καμπύλη Z-Order εφαρμόζεται κατά τη βελτιστοποίηση του χρόνου | Z-Order για μία στήλη ομαδοποίησης. Καμπύλη Hilbert για 2+ στήλες, παρέχοντας βελτιστοποιημένη τοποθεσία δεδομένων |
Η υγρή ομαδοποίηση χρησιμοποιεί το Z-Order για διατάξεις μίας στήλης και την καμπύλη Hilbert για 2+ στήλες—μια βελτίωση σε σχέση με το Z-Order, το οποίο εφαρμόζει μόνο την καμπύλη Z-Order για πολυδιάστατη ομαδοποίηση. Η ομαδοποίηση υγρών τυλίγει και τους δύο αλγόριθμους σε ένα σταδιακό πλαίσιο με επίγνωση μεταδεδομένων που μειώνει το κόστος συνεχούς συντήρησης.
Δημιουργήστε έναν πίνακα συμπλέγματος υγρών
Ορίστε στήλες ομαδοποίησης χρησιμοποιώντας τον όρο κατά τη CLUSTER BY δημιουργία πίνακα:
-- Create a new clustered table
CREATE TABLE dbo.sales (
order_id BIGINT,
order_date DATE,
region STRING,
amount DECIMAL(10,2)
) CLUSTER BY (order_date, region);
-- Create from query results
CREATE TABLE dbo.sales_clustered
CLUSTER BY (order_date, region)
AS SELECT * FROM raw_sales;
-- Enable on existing table
ALTER TABLE dbo.sales_txn CLUSTER BY (order_date, region);
Αλλαγή στηλών ομαδοποίησης
Σε αντίθεση με τη δημιουργία διαμερισμάτων, μπορείτε να αλλάξετε τις στήλες συμπλέγματος ανά πάσα στιγμή χωρίς να ξαναγράψετε δεδομένα:
-- Change clustering columns
ALTER TABLE sales CLUSTER BY (region, product_category);
-- Remove clustering (table becomes unclustered)
ALTER TABLE sales CLUSTER BY NONE;
Μετά την αλλαγή των στηλών συμπλέγματος, η νέα διάταξη εφαρμόζεται στην επόμενη OPTIMIZE εκτέλεση. Τα υπάρχοντα αρχεία διατηρούν την προηγούμενη διάταξή τους μέχρι να ανασυσταθούν.
Εφαρμογή ομαδοποίησης με το OPTIMIZE
Η ομαδοποίηση εφαρμόζεται κατά τη διάρκεια της OPTIMIZE εντολής. Δεν χρειάζεται να καθορίσετε στήλες στη OPTIMIZE δήλωση, καθώς ο ορισμός ομαδοποίησης αποθηκεύεται σε μεταδεδομένα πίνακα:
-- Cluster the table using the defined clustering columns
OPTIMIZE sales;
-- Recluster partial Z-Cubes and Z-Cubes with different clustering keys or clustering providers
OPTIMIZE sales FULL;
Χρησιμοποιήστε το OPTIMIZE FULL όταν αλλάζετε κλειδιά ομαδοποίησης και θέλετε να δημιουργήσετε ξανά κύβους Z που δεν συμμορφώνονται με την τρέχουσα στρατηγική ομαδοποίησης. Το Z-Cube είναι η λογική μονάδα που χρησιμοποιεί η υγρή ομαδοποίηση για την ομαδοποίηση αρχείων που μοιράζονται τις ίδιες στήλες ομαδοποίησης. Τα δεδομένα συγκεντρώνονται σε έναν μόνο κύβο Z μέχρι να αλλάξουν τα κλειδιά του συμπλέγματος ή ο όγκος των δεδομένων να υπερβεί τα 100 GB.
Συμβουλή
Ξεκινώντας από το Fabric Runtime 2.0, η μηχανή εκτέλεσης Native υποστηρίζει την εκτέλεση OPTIMIZE σε πίνακες συμπλέγματος υγρών, παρέχοντας 30–50% ταχύτερη απόδοση πολυδιάστατης ομαδοποίησης. Οι προηγούμενοι χρόνοι εκτέλεσης επιστρέφουν στην κανονική μη επιταχυνόμενη εκτέλεση του Spark.
Πώς λειτουργεί η ομαδοποίηση υγρών
Όταν τρέχετε OPTIMIZE σε ένα τραπέζι με συστάδες υγρών, συμβαίνουν τα εξής:
-
Επιλογή αρχείου: Ο μηχανισμός επιλέγει αρχεία που χρειάζονται ομαδοποίηση.
- Στο Runtime 2.0+ (στρατηγική επαυξητικής ομαδοποίησης), επιλέγονται μόνο μη ομαδοποιημένα, μη υγιή, μικρά ή διανυσματικά αρχεία.
- Στο Runtime 1.3, επιλέγονται όλα τα αρχεία σε κάθε Z-Cube μικρότερο από 100 GB, ανεξάρτητα από το αν είναι ήδη καλά ομαδοποιημένα.
- Συσκευασία κάδου: Τα επιλεγμένα αρχεία ομαδοποιούνται σε κάδους με στόχο το βέλτιστο μέγεθος αρχείου εξόδου.
- Επαναδιαμερισμός: Τα δεδομένα μέσα σε κάθε κάδο επαναδιαμερίζονται χρησιμοποιώντας μια καμπύλη πλήρωσης χώρου (καμπύλη Hilbert για πολλές στήλες, Z-Order για μονή στήλη).
- Εγγραφή αρχείων: Τα αναδιαμερισμένα δεδομένα γράφονται ως νέα αρχεία με στενά εύρη τιμών σε στήλες ομαδοποίησης.
- Ενημέρωση μεταδεδομένων: Το αρχείο καταγραφής Delta καταγράφει την αντικατάσταση αρχείων, προσθέτοντας ετικέτες σε νέα αρχεία με μεταδεδομένα ομαδοποίησης.
Το αποτέλεσμα είναι αρχεία με μη επικαλυπτόμενες (ή ελάχιστα επικαλυπτόμενες) περιοχές τιμών σε στήλες συμπλέγματος, επιτρέποντας στη μηχανή να παραλείπει αρχεία που δεν ταιριάζουν με κατηγορήματα ερωτημάτων.
Προσοχή
Fabric Runtime 1.3 (Delta 3.2): χρησιμοποιήστε την ομαδοποίηση υγρών με προσοχή. Σε αυτόν τον χρόνο εκτέλεσης, η υγρή ομαδοποίηση χρησιμοποιεί μια πλήρη στρατηγική επανεγγραφής Z-Cube—κάθε αρχείο μέσα σε ένα Z-Cube ξαναγράφεται σε κάθε εκτέλεση. Ένας κύβος Z διατηρείται (παραλείπεται) μόνο όταν το μέγεθός του υπερβαίνει τα 100 GB. Για πίνακες μικρότερους από 100 GB, η πλήρης επανεγγραφή σημαίνει ότι κάθε OPTIMIZE εκτέλεση ξαναγράφει όλα τα δεδομένα του πίνακα, ακόμα και όταν τα δεδομένα είναι ήδη καλά ομαδοποιημένα. Αυτό προκαλεί σοβαρή ενίσχυση εγγραφής.
- Μην χρησιμοποιείτε αυτόματη συμπύκνωση με ομαδοποίηση υγρών στο Runtime 1.3. Κάθε σκανδάλη αυτόματης συμπίεσης μπορεί να προκαλέσει επανεγγραφή πλήρους πίνακα αντί απλώς να ομαδοποιήσει τα νέα/αλλαγμένα δεδομένα.
- Αποφύγετε την εκτέλεση
OPTIMIZEμετά από κάθε λειτουργία εγγραφής. Στο Runtime 1.3, περιορίστε την ομαδοποίηση σε στρατηγικές, σκόπιμες εκτελέσεις και αποδεχτείτε χαμηλότερη φρεσκάδα ομαδοποίησης μεταξύ τους.
Η επαυξητική ομαδοποίηση υγρών, η οποία εξαλείφει αυτήν την ενίσχυση εγγραφής, είναι διαθέσιμη μόνο ξεκινώντας από το Fabric Runtime 2.0.
Αυξητική ομαδοποίηση υγρών
Ξεκινώντας με το Fabric Runtime 2.0 (Delta 4.1), η ρευστή ομαδοποίηση χρησιμοποιεί μια στρατηγική ομαδοποίησης incremental από προεπιλογή. Η σταδιακή στρατηγική είναι μια σημαντική βελτίωση σε σχέση με την τυπική συμπεριφορά ομαδοποίησης.
Σημαντικό
Η επαυξητική ομαδοποίηση υγρών είναι διαθέσιμη μόνο στο Fabric Runtime 2.0 και νεότερες εκδόσεις. Σε παλαιότερους χρόνους εκτέλεσης, OPTIMIZE το χρησιμοποιεί την τυπική συμπεριφορά (πλήρης επανεγγραφή) όπου όλα τα αρχεία μέσα σε ένα Z-Cube ξαναγράφονται σε κάθε εκτέλεση.
Γιατί έχει σημασία η στρατηγική επαυξητικής ομαδοποίησης
Ο τυπικός αλγόριθμος ομαδοποίησης ξαναγράφει όλα τα αρχεία μέσα σε ένα Z-Cube (έως 100 GB) σε κάθε OPTIMIZE εκτέλεση, ανεξάρτητα από το αν είναι ήδη καλά ομαδοποιημένα. Για έναν πίνακα που λαμβάνει μικρές προσαρτήσεις, το κόστος ομαδοποίησης αυξάνεται γραμμικά με το μέγεθος του πίνακα και όχι με την ποσότητα των νέων δεδομένων.
Η αυξητική λειτουργία επιλύει το πρόβλημα πλήρους επανεγγραφής επιλέγοντας μόνο αρχεία που χρειάζονται πραγματικά ομαδοποίηση:
- Μη ομαδοποιημένα αρχεία: Πρόσφατα γραμμένα δεδομένα χωρίς ομαδοποίηση μεταδεδομένων
- Μικρά αρχεία: Αρχεία κάτω από το όριο μεγέθους αρχείου προορισμού
- Αρχεία με διανύσματα διαγραφής: Αρχεία με συσσωρευμένες διαγραφές που υπερβαίνουν το όριο εκκαθάρισης
Τα ήδη καλά ομαδοποιημένα αρχεία κατάλληλου μεγέθους παραλείπονται εντελώς.
Αυτόματη ανασυγκρότηση
Η αυξητική ομαδοποίηση υγρών περιλαμβάνει αυτόματη ανίχνευση επικάλυψης, γνωστή ως αυτόματη ανασυγκρότηση, για τη διατήρηση της ποιότητας ομαδοποίησης με την πάροδο του χρόνου. Καθώς φτάνουν νέα δεδομένα, μπορεί να δημιουργήσει επικάλυψη μεταξύ των περιοχών τιμών αρχείων, υποβαθμίζοντας την αποτελεσματικότητα της παράβλεψης δεδομένων. Η αυτόματη ανασυγκρότηση εντοπίζει επικαλυπτόμενα εύρη τιμών μεταξύ των αρχείων και ομαδοποιεί επιλεκτικά μόνο τα επηρεαζόμενα αρχεία.
Η αυτόματη ανασυγκρότηση εκτελείται αυτόματα ως μέρος κάθε OPTIMIZE φορά που υπάρχουν νέα ή αλλαγμένα δεδομένα στο σύμπλεγμα. Δεν απαιτείται χειροκίνητη παρέμβαση ή προγραμματισμένες πλήρεις ανασυστάδες. Η στρατηγική σταδιακής ομαδοποίησης διατηρεί σχεδόν τη βέλτιστη ποιότητα ομαδοποίησης καθώς εξελίσσονται τα δεδομένα.
Επαναφορά στη συμπεριφορά πλήρους επανεγγραφής
Εάν πρέπει να απενεργοποιήσετε τη στρατηγική επαυξητικής δημιουργίας συμπλεγμάτων και να χρησιμοποιήσετε τη συμπεριφορά πλήρους επανεγγραφής, ορίστε την ακόλουθη ρύθμιση παραμέτρων:
SET spark.microsoft.delta.optimize.clustering.strategy.incremental = FALSE;
OPTIMIZE sales;
Εναλλακτικά, χρησιμοποιήστε το OPTIMIZE FULL για μια εφάπαξ πλήρη ανασυμπλέγματα χωρίς να αλλάξετε τις ρυθμίσεις της συνεδρίας:
OPTIMIZE sales FULL;
Σημείωμα
Η στρατηγική σταδιακής ομαδοποίησης επιτρέπει σκόπιμα μικρή απόκλιση από τη θεωρητικά βέλτιστη διάταξη για την επίτευξη σημαντικών μειώσεων στην ενίσχυση εγγραφής. Το τρέξιμο OPTIMIZE FULL κλείνει αυτό το κενό με την πλήρη ανακατασκευή των Z-Cubes στο θεωρητικό βέλτιστο, αλλά με υψηλότερο κόστος εγγραφής.
Αναφορά ρύθμισης παραμέτρων
Οι παρακάτω ρυθμίσεις λειτουργίας ελέγχουν τη συμπεριφορά δημιουργίας συμπλεγμάτων υγρών στο Fabric Runtime 2.0+.
Αυξητική ομαδοποίηση
| Διαμόρφωση | Τύπος | Προεπιλεγμένος | Περιγραφή |
|---|---|---|---|
spark.microsoft.delta.optimize.clustering.strategy.incremental |
Boolean | true |
Κύριος διακόπτης για αυξητική ομαδοποίηση. Όταν trueτο , OPTIMIZE επεξεργάζεται μόνο μη ομαδοποιημένα, ανθυγιεινά, μικρά και διανυσματικά αρχεία. Όταν false, όλα τα αρχεία για Z-Cubes μεγέθους κάτω των 100 GB ξαναγράφονται (τυπική συμπεριφορά). |
spark.microsoft.delta.optimize.clustering.strategy.incremental.autoRecluster |
Boolean | true |
Επιτρέπει τον αυτόματο εντοπισμό και την ανασυγκρότηση αρχείων με επικαλυπτόμενες περιοχές δεδομένων. Ισχύει μόνο όταν είναι ενεργοποιημένη η επαυξητική δημιουργία συμπλεγμάτων. |
Αυτόματος συντονισμός αναδιάταξης
Αυτές οι διαμορφώσεις ελέγχουν την ευαισθησία και το εύρος της αυτόματης ανασυγκρότησης. Οι προεπιλογές είναι κατάλληλες για τους περισσότερους φόρτους εργασίας. Προσαρμόστε τα μόνο όταν πρέπει να αλλάξετε την αντιστάθμιση μεταξύ της ποιότητας ομαδοποίησης και της ενίσχυσης εγγραφής.
| Διαμόρφωση | Τύπος | Προεπιλεγμένος | Περιγραφή |
|---|---|---|---|
spark.microsoft.delta.optimize.clustering.strategy.incremental.autoRecluster.minOffendingFiles |
Int | 4 |
Ελάχιστος αριθμός επικαλυπτόμενων αρχείων που απαιτούνται για την ενεργοποίηση της ανασυγκρότησης συμπλέγματος. Οι χαμηλότερες τιμές ανασυγκροτούνται νωρίτερα (καλύτερη απόδοση ερωτημάτων, υψηλότερο κόστος εγγραφής). Πρέπει να ≥ 2. |
spark.microsoft.delta.optimize.clustering.strategy.incremental.autoRecluster.minOverlapThreshold |
Διπλή | 0.75 |
Όριο βαθμολογίας επικάλυψης ιδιοτήτων ομαδοποίησης. Τα ζεύγη αρχείων που βαθμολογούνται πάνω από αυτήν την τιμή θεωρούνται επικαλυπτόμενα. Πρέπει να είναι εντός του εύρους (0,25, 1,0]. Οι χαμηλότερες τιμές είναι πιο επιθετικές. |
Επιλογή στηλών ομαδοποίησης
Για καλύτερα αποτελέσματα, επιλέξτε στήλες ομαδοποίησης με βάση τα πιο συνηθισμένα μοτίβα φίλτρων ερωτημάτων:
-
Επιλέξτε 1 έως 4 στήλες που εμφανίζονται συχνά σε
WHEREπροτάσεις. Περισσότερες στήλες αραιώνουν την αποτελεσματικότητα παράβλεψης του αρχείου ανά στήλη της καμπύλης πλήρωσης χώρου και αυξάνουν το χρόνο για τη συγκέντρωση δεδομένων. - Εξετάστε την πληθικότητα της στήλης. Οι στήλες χαμηλής πληθικότητας παράγουν λιγότερες διακριτές περιοχές τιμών, γεγονός που μειώνει το όφελος παράβλεψης αρχείων όταν συνδυάζονται με κλειδιά ομαδοποίησης υψηλής πληθικότητας.
-
Η σειρά των στηλών δεν επηρεάζει την ομαδοποίηση. Η σειρά των στηλών που καθορίζονται μετά
CLUSTER BYδεν επηρεάζει την προκύπτουσα πολυδιάστατη ομαδοποίηση.
Υποστηριζόμενοι τύποι στηλών
Δεν μπορούν να χρησιμοποιηθούν όλοι οι τύποι στηλών ως κλειδιά ομαδοποίησης. Ο μηχανισμός αξιολογεί τον τύπο δεδομένων κάθε στήλης για να καθορίσει την καταλληλότητα.
Πάντα επιλέξιμοι (ατομικοί τύποι):
-
NumericType(ByteType,ShortType,IntegerType,LongType,FloatType,DoubleType, )DecimalType DateTypeTimestampTypeTimestampNTZTypeStringType
Επιλέξιμο υπό όρους:
Σημείωμα
Οι ακόλουθοι τύποι μπορούν να ενεργοποιηθούν ξεκινώντας από το Fabric Spark Runtime 2.0 (Delta 4.1):
-
StructType: ότανspark.microsoft.delta.clusteredTable.complexTypes.enabledείναι ενεργοποιημένο και όλα τα πεδία φύλλων είναι τα ίδια κατάλληλοι τύποι. -
ArrayType: ότανspark.microsoft.delta.clusteredTable.complexTypes.enabledείναι ενεργοποιημένο και ο τύπος στοιχείου είναι κατάλληλος. -
MapType: ότανspark.microsoft.delta.clusteredTable.complexTypes.enabledείναι ενεργοποιημένο και οι τύποι κλειδιού και τιμής είναι παραγγελισιμόλογοι και κατάλληλοι.
Μη επιλέξιμοι:
BinaryTypeBooleanTypeNullType
Για τους ισοδύναμους κατάλληλους τύπους που χρησιμοποιούνται στα στατιστικά στοιχεία σε επίπεδο αρχείου, ανατρέξτε στην ενότητα Παράλειψη αρχείων—Κατάλληλοι τύποι δεδομένων.
Αλληλεπίδραση με άλλα χαρακτηριστικά
| Χαρακτηριστικό | Συμπεριφορά |
|---|---|
| Διαμερισματοποίηση | Ασύμβατο. Για σκοπούς παράβλεψης αρχείων, συνιστάται η ομαδοποίηση υγρών έναντι της κατάτμησης. |
| Σειρά Z | Ασύμβατο. Για σκοπούς παράβλεψης αρχείων, συνιστάται η ομαδοποίηση υγρών μέσω του Z-Order. |
| Γρήγορη βελτιστοποίηση | Συμβατό με εκκίνηση στο Runtime 2.0. Σε προηγούμενους χρόνους εκτέλεσης, η γρήγορη βελτιστοποίηση δεν έχει καμία επίδραση σε πίνακες με συστάδες υγρών. Κατά τη διάρκεια OPTIMIZEτου , παραλείπει την ομαδοποίηση όταν δεν υπάρχουν αρκετά μικρά αρχεία ή ανεπαρκή δεδομένα για την παραγωγή ενός αρχείου εξόδου υγιούς μεγέθους. |
| Προσαρμόσιμο μέγεθος αρχείου προορισμού | Συμβατός. Το μέγεθος αρχείου προορισμού που ορίζεται από την προσαρμοστική αξιολόγηση χρησιμοποιείται ως μέγεθος στόχου για ομαδοποίηση. |
| Βελτιστοποιήστε την εγγραφή | Συμβατός. Παράγει ενοποιημένα αρχεία κατά την εγγραφή που στη συνέχεια συγκεντρώνονται κατά τη διάρκεια .OPTIMIZE |
| Αυτόματη συμπύκνωση | Μην το χρησιμοποιείτε με ομαδοποίηση υγρών στο Runtime 1.3 ή παλαιότερη έκδοση. Σε αυτούς τους χρόνους εκτέλεσης, κάθε σκανδάλη αυτόματης συμπίεσης ξαναγράφει όλα τα δεδομένα σε κύβους Z μικρότερα από 100 GB, προκαλώντας σοβαρή ενίσχυση εγγραφής. Στο Runtime 2.0+, η αυτόματη συμπίεση είναι συμβατή: η σταδιακή ομαδοποίηση διασφαλίζει ότι ξγράφονται μόνο νέα ή ανθυγιεινά αρχεία. Η αυτόματη συμπύκνωση χειρίζεται την ενοποίηση μικρών αρχείων. OPTIMIZE χειρίζεται τη διάταξη ομαδοποίησης. |
| Διανύσματα διαγραφής | Τα αρχεία που υπερβαίνουν το όριο των διαγραμμένων γραμμών επιλέγονται για ομαδοποίηση, ανεξάρτητα από την κατάσταση ομαδοποίησης. |
| Σειρά V | Συμβατός. Το V-Order και η ομαδοποίηση υγρών λειτουργούν σε διαφορετικούς άξονες (εσωτερική διάταξη αρχείου έναντι εύρους τιμών μεταξύ αρχείων). Και τα δύο μπορούν να εφαρμοστούν μαζί. |
Βέλτιστες πρακτικές
-
Εκτελέστε
OPTIMIZEτακτικά μετά από μαζικές εγγραφές ή σε ένα χρονοδιάγραμμα για πίνακες ροής—αλλά μόνο στο Runtime 2.0+, όπου η στρατηγική σταδιακής ομαδοποίησης καθιστά τις συχνές εκτελέσεις φθηνές. Στο Runtime 1.3 και παλαιότερες εκδόσεις, κάθεOPTIMIZEεκτέλεση ξαναγράφει όλα τα δεδομένα σε κύβους Z κάτω των 100 GB, επομένως οι εκτελέσεις θα πρέπει να είναι σκόπιμες και σπάνιες. -
Χρησιμοποιήστε
OPTIMIZE FULLμε φειδώ. Κρατήστε το για αφού αλλάξετε τις στήλες ομαδοποίησης ή χρειαστείτε μια εφάπαξ επαναφορά ποιότητας. - Παρακολουθήστε την ποιότητα συμπλεγμάτων ελέγχοντας τα μετρικά σάρωσης ερωτημάτων (αρχεία που σαρώθηκαν έναντι συνολικών αρχείων) στο περιβάλλον εργασίας χρήστη Spark ή στα σχέδια ερωτημάτων.
- Συνδυάστε με τη βελτιστοποίηση εγγραφής για φόρτους εργασίας ροής για να διασφαλίσετε ότι κάθε μικρο-παρτίδα παράγει έναν διαχειρίσιμο αριθμό αρχείων για ομαδοποίηση.