τα στοιχεία επικοινωνίας μου
Ταχυδρομείο[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Είναι ένας τύπος πίνακα στο Hive Με τη διαίρεση των δεδομένων του πίνακα σε πολλαπλά υποσύνολα (διαμερίσματα), κάθε διαμέρισμα αντιστοιχεί σε μια συγκεκριμένη τιμή στήλης στον πίνακα, η απόδοση του ερωτήματος και η αποτελεσματικότητα διαχείρισης δεδομένων μπορούν να βελτιωθούν. Κάθε διαμέρισμα ενός πίνακα με διαμερίσματα αποθηκεύεται σε ξεχωριστό κατάλογο και το διαμέρισμα ορίζεται με βάση μία ή περισσότερες στήλες στον πίνακα. Ο κύριος σκοπός της χρήσης διαμερισμένων πινάκων είναι να μειωθεί ο όγκος των δεδομένων που σαρώνονται από ερωτήματα, βελτιώνοντας έτσι την αποτελεσματικότητα των ερωτημάτων.
Η υπερβολική κατάτμηση μπορεί να έχει ως αποτέλεσμα τη δημιουργία μεγάλου αριθμού μικρών αρχείων, επηρεάζοντας την απόδοση του HDFS και την αποτελεσματικότητα των εργασιών MapReduce. Οι εργασίες συγχώνευσης μικρών αρχείων πρέπει να εκτελούνται τακτικά.
- CREATE TABLE customer_data (
- customer_id STRING,
- name STRING,
- age INT,
- email STRING
- )
- PARTITIONED BY (city STRING)
- STORED AS ORC;
-
- select *
- from customer_data;
-
- -- 插入 New York 的数据
- INSERT INTO TABLE customer_data PARTITION (city='New York')
- VALUES
-
- -- 插入 Los Angeles 的数据
- INSERT INTO TABLE customer_data PARTITION (city='Los Angeles')
- VALUES
-
- -- 插入 Chicago 的数据
- INSERT INTO TABLE customer_data PARTITION (city='Chicago')
- VALUES
Μπορείτε να δείτε ότι έχουν δημιουργηθεί τρεις κατάλογοι στο HDFS, που αντιστοιχούν σε τρία διαμερίσματα Η χρήση της συνθήκης επιλογής όπου το ερώτημα θα βρει απευθείας δεδομένα από τον αντίστοιχο κατάλογο διαμερισμάτων, μειώνοντας έτσι τον όγκο των δεδομένων που σαρώνονται από το ερώτημα και βελτιώνοντας την απόδοση.
SELECT * FROM customer_data WHERE city='New York';
Είναι ένας άλλος τύπος πίνακα στο Hive Με τον κατακερματισμό των δεδομένων στον πίνακα, η απόδοση του ερωτήματος μπορεί να βελτιωθεί περαιτέρω, ειδικά κατά την εκτέλεση εργασιών σύνδεσης και συγκέντρωσης. Οι πίνακες κουβάδων χωρίζουν τα δεδομένα σε έναν σταθερό αριθμό κάδων και κάθε κάδος αποθηκεύεται σε ξεχωριστό αρχείο.
-------------------------------------------------- -Χαρακτηριστικά τραπεζιού κουβά--------------------------------------------- -------
Διαμερισμός δεδομένων: Κατανείμετε τα δεδομένα σε έναν σταθερό αριθμό κάδων με βάση την τιμή κατακερματισμού μιας ή περισσότερων στηλών.
Αποθήκευση αρχείων: Τα δεδομένα κάθε κάδου αποθηκεύονται σε ξεχωριστό αρχείο.
Ομοιόμορφη κατανομή: Ιδανικά, τα δεδομένα κατανέμονται ομοιόμορφα σε όλους τους κάδους, βελτιώνοντας έτσι την απόδοση των ερωτημάτων.
- CREATE TABLE customer_data2 (
- customer_id STRING,
- name STRING,
- age INT,
- email STRING
- )
- CLUSTERED BY (customer_id) INTO 4 BUCKETS
- STORED AS ORC;
- -- 插入数据到分桶表
- --通过这些步骤,我们创建了一个按 customer_id 列进行分桶的 Hive 表 customer_data,并插入了具体的数据。
- INSERT INTO TABLE customer_data2 VALUES
-
- select *
- from customer_data2;
Κοιτώντας τη διαδρομή στο HDFS, μπορούμε να δούμε ότι τα δεδομένα θα χωριστούν σε διαφορετικούς κάδους σύμφωνα με την τιμή κατακερματισμού της αντίστοιχης στήλης.