Κορυφαίες εντολές κυψελών με παραδείγματα σε HQL



Αυτό το ιστολόγιο συζητά Hive Commands με παραδείγματα σε HQL. ΔΗΜΙΟΥΡΓΙΑ, ΠΡΟΣΤΑΣΙΑ, ΣΥΜΒΟΥΛΗ, ΑΛΛΗΛΟΓΡΑΦΙΑ, ΠΑΡΟΥΣΙΑΣΗ, ΠΕΡΙΓΡΑΦΗ, ΧΡΗΣΗ, ΦΟΡΤΩΣΗ, ΕΙΣΑΓΩΓΗ, ΣΥΝΔΕΣΗ και πολλές άλλες εντολές κυψελών

Σε αυτήν την ανάρτηση ιστολογίου, ας συζητήσουμε τις κορυφαίες εντολές Hive με παραδείγματα. Αυτές οι εντολές Hive είναι πολύ σημαντικές για να δημιουργήσετε το θεμέλιο για .

Ο οδηγός τεχνικής καριέρας του Edureka 2019 κυκλοφόρησε! Οι πιο καυτοί ρόλοι εργασίας, οι ακριβείς διαδρομές μάθησης, οι προοπτικές της βιομηχανίας και πολλά άλλα στον οδηγό. Κατεβάστε τώρα.

Τι είναι η κυψέλη;

Το Apache Hive είναι ένα σύστημα αποθήκης δεδομένων που έχει κατασκευαστεί για να λειτουργεί στο Hadoop. Χρησιμοποιείται για την αναζήτηση και τη διαχείριση μεγάλων συνόλων δεδομένων που βρίσκονται σε κατανεμημένο χώρο αποθήκευσης. Πριν γίνει έργο ανοιχτού κώδικα του Apache Hadoop, η Hive δημιουργήθηκε από το Facebook. Παρέχει έναν μηχανισμό για την προβολή της δομής στα δεδομένα του Hadoop και την αναζήτηση αυτών των δεδομένων χρησιμοποιώντας μια γλώσσα τύπου SQL που ονομάζεται HiveQL (HQL).





Η κυψέλη χρησιμοποιείται επειδή οι πίνακες στο Hive είναι παρόμοιοι με τους πίνακες σε σχεσιακή βάση δεδομένων. Εάν είστε εξοικειωμένοι με το SQL, είναι ένα cakewalk. Πολλοί χρήστες μπορούν ταυτόχρονα να υποβάλουν ερωτήματα στα δεδομένα χρησιμοποιώντας το Hive-QL.

Τι είναι η HQL;

Το Hive ορίζει μια απλή γλώσσα ερωτήματος τύπου SQL για την αναζήτηση και τη διαχείριση μεγάλων συνόλων δεδομένων που ονομάζονται Hive-QL (HQL). Είναι εύκολο στη χρήση αν είστε εξοικειωμένοι με τη γλώσσα SQL. Το Hive επιτρέπει στους προγραμματιστές που είναι εξοικειωμένοι με τη γλώσσα να γράψουν το προσαρμοσμένο πλαίσιο MapReduce για να πραγματοποιήσουν πιο εξελιγμένη ανάλυση.



Χρήσεις της κυψέλης:

1. Ο κατανεμημένος αποθηκευτικός χώρος Apache Hive.

2. Η κυψέλη παρέχει εργαλεία για την εύκολη εξαγωγή / μετατροπή / φόρτωση δεδομένων (ETL)

3. Παρέχει τη δομή σε μια ποικιλία μορφών δεδομένων.



4. Χρησιμοποιώντας το Hive, μπορούμε να έχουμε πρόσβαση σε αρχεία που είναι αποθηκευμένα στο Hadoop Distributed File System (το HDFS χρησιμοποιείται για την αναζήτηση και τη διαχείριση μεγάλων συνόλων δεδομένων που βρίσκονται) ή σε άλλα συστήματα αποθήκευσης δεδομένων, όπως το Apache HBase.

Περιορισμοί της κυψέλης:

Το & bull Hive δεν έχει σχεδιαστεί για επεξεργασία συναλλαγών στο Διαδίκτυο (OLTP), χρησιμοποιείται μόνο για τη διαδικτυακή αναλυτική επεξεργασία.

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

& bull Στην Κυψέλη, δεν υποστηρίζονται δευτερεύοντα ερωτήματα.

Γιατί το Hive χρησιμοποιείται παρά το Pig;

Ακολουθούν οι λόγοι για τους οποίους η κυψέλη χρησιμοποιείται παρά τη διαθεσιμότητα του χοίρου:

  • Το Hive-QL είναι μια δηλωτική γραμμή γλώσσας SQL, το PigLatin είναι μια γλώσσα ροής δεδομένων.
  • Χοίρος: γλώσσα και περιβάλλον ροής δεδομένων για την εξερεύνηση πολύ μεγάλων συνόλων δεδομένων.
  • Κυψέλη: μια αποθήκη κατανεμημένων δεδομένων.

Συστατικά της κυψέλης:

Metastore:

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

SerDe:

Το Serializer, το Deserializer δίνει οδηγίες σχετικά με τον τρόπο επεξεργασίας μιας εγγραφής.

Εντολές κυψελών:

Γλώσσα ορισμού δεδομένων (DDL)

Οι δηλώσεις DDL χρησιμοποιούνται για τη δημιουργία και την τροποποίηση των πινάκων και άλλων αντικειμένων στη βάση δεδομένων.

Εντολή DDL Λειτουργία
ΔΗΜΙΟΥΡΓΩ Χρησιμοποιείται για τη δημιουργία πίνακα ή βάσης δεδομένων
ΠΡΟΒΟΛΗ Χρησιμοποιείται για την εμφάνιση βάσης δεδομένων, πίνακα, ιδιοτήτων κ.λπ.
ΗΛΙΚΙΑ Χρησιμοποιείται για την πραγματοποίηση αλλαγών στον υπάρχοντα πίνακα
ΠΕΡΙΓΡΑΦΩ Περιγράφει τις στήλες πίνακα
ΚΟΛΟΒΟΣ Χρησιμοποιείται για μόνιμη περικοπή και διαγραφή των σειρών του πίνακα
ΔΙΑΓΡΑΦΩ Διαγράφει τα δεδομένα πίνακα, αλλά μπορεί να γίνει επαναφορά

Μεταβείτε στο κέλυφος Hive δίνοντας την εντολή sudo hive και εισαγάγετε την εντολή 'δημιουργώ βάση δεδομένων όνομα> » για να δημιουργήσετε τη νέα βάση δεδομένων στην κυψέλη.

Δημιουργία βάσης δεδομένων Hive χρησιμοποιώντας εντολές Hive

Για να απαριθμήσετε τις βάσεις δεδομένων στην αποθήκη Hive, εισαγάγετε την εντολή « εμφάνιση βάσεων δεδομένων ».

Η βάση δεδομένων δημιουργείται σε μια προεπιλεγμένη θέση της αποθήκης Hive. Στην Cloudera, κατάστημα βάσεων δεδομένων Hive σε / user / hive / warehouse.

Η εντολή για τη χρήση της βάσης δεδομένων είναι ΧΡΗΣΗ

Αντιγράψτε τα δεδομένα εισόδου στο HDFS από το τοπικό χρησιμοποιώντας την εντολή Αντιγραφή από Τοπικό.

Όταν δημιουργούμε έναν πίνακα στην ομάδα, δημιουργεί στην προεπιλεγμένη θέση της αποθήκης κυψέλης. - “/ user / hive / warehouse”, μετά τη δημιουργία του πίνακα μπορούμε να μεταφέρουμε τα δεδομένα από το HDFS στον πίνακα hive.

Η ακόλουθη εντολή δημιουργεί έναν πίνακα με τη θέση '/user/hive/warehouse/retail.db'

Σημείωση : retail.db είναι η βάση δεδομένων που δημιουργήθηκε στην αποθήκη Hive.

Περιγράφω παρέχει πληροφορίες σχετικά με το σχήμα του πίνακα.

Γλώσσα χειρισμού δεδομένων (DML)

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

Παράδειγμα:

ΦΟΡΤΙΟ, ΕΙΣΑΓΩΓΗ Δηλώσεις.

Σύνταξη:

ΦΟΡΤΩΣΗ δεδομένων μέσα στον πίνακα [όνομα tablen]

Η λειτουργία Φόρτωση χρησιμοποιείται για τη μετακίνηση των δεδομένων στον αντίστοιχο πίνακα Hive. Εάν η λέξη-κλειδί τοπικός έχει καθοριστεί, τότε στην εντολή φόρτωσης θα δοθεί η τοπική διαδρομή συστήματος αρχείων. Εάν η λέξη-κλειδί τοπική δεν έχει καθοριστεί, πρέπει να χρησιμοποιήσουμε τη διαδρομή HDFS του αρχείου.

Ακολουθούν ορισμένα παραδείγματα για την εντολή LOAD LOCAL data

Αφού φορτώσουμε τα δεδομένα στον πίνακα Hive, μπορούμε να εφαρμόσουμε τις Δηλώσεις Χειρισμού Δεδομένων ή συγκεντρωτικές συναρτήσεις να ανακτήσουμε τα δεδομένα.

Παράδειγμα μέτρησης του αριθμού εγγραφών:

Χρησιμοποιείται η συνάρτηση αθροιστικών μετρήσεων, μετρήστε τον συνολικό αριθμό των εγγραφών σε έναν πίνακα.

Πίνακας «δημιουργία εξωτερικού»:

ο δημιουργία εξωτερικού Η λέξη-κλειδί χρησιμοποιείται για τη δημιουργία ενός πίνακα και παρέχει μια τοποθεσία όπου θα δημιουργηθεί ο πίνακας, έτσι ώστε η ομάδα δεν χρησιμοποιεί μια προεπιλεγμένη θέση για αυτόν τον πίνακα. Ενα ΕΞΩΤΕΡΙΚΟΣ Ο πίνακας δείχνει σε οποιαδήποτε τοποθεσία HDFS για την αποθήκευσή του, αντί για προεπιλεγμένο χώρο αποθήκευσης.

Εισαγωγή εντολής:

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

& bull INSERT OVERWRITE χρησιμοποιείται για την αντικατάσταση των υπαρχόντων δεδομένων στον πίνακα ή στο διαμέρισμα.

& bull INSERT INTO χρησιμοποιείται για την προσθήκη των δεδομένων σε υπάρχοντα δεδομένα σε έναν πίνακα. (Σημείωση: Η σύνταξη INSERT INTO λειτουργεί από την έκδοση 0.8)

Παράδειγμα για την εντολή 'Partitioned By' και 'Clustered By':

«Χωρίστηκε από «Χρησιμοποιείται για τη διαίρεση του πίνακα στο διαμέρισμα και μπορεί να χωριστεί σε κουβάδες χρησιμοποιώντας το« Συγκεντρωμένος από ' εντολή.

Όταν εισάγουμε τα δεδομένα που ρίχνουν την κυψέλη, η λειτουργία δυναμικής κατάτμησης είναι αυστηρή και το δυναμικό διαμέρισμα δεν ενεργοποιείται Τζεφ στο ιστότοπος dresshead ). Επομένως, πρέπει να ορίσουμε τις ακόλουθες παραμέτρους στο κέλυφος Hive.

ορίστε hive.exec.dynamic.partition = true

Για να ενεργοποιήσετε δυναμικά διαμερίσματα, από προεπιλογή, είναι ψευδές

set hive.exec.dynamic.partition.mode = μη αυστηρό

Το διαμέρισμα γίνεται ανά κατηγορία και μπορεί να χωριστεί σε κάδους χρησιμοποιώντας την εντολή 'Clustered By'.

Η δήλωση 'Drop Table' διαγράφει τα δεδομένα και τα μεταδεδομένα για έναν πίνακα. Στην περίπτωση εξωτερικών πινάκων, διαγράφονται μόνο τα μεταδεδομένα.

Η δήλωση 'Drop Table' διαγράφει τα δεδομένα και τα μεταδεδομένα για έναν πίνακα. Στην περίπτωση εξωτερικών πινάκων, διαγράφονται μόνο τα μεταδεδομένα.

Φορτώστε τα δεδομένα του τοπικού inpath «aru.txt» στο όνομα της καρτέλας του πίνακα και στη συνέχεια ελέγξουμε τον πίνακα υπαλλήλου1 χρησιμοποιώντας την εντολή Select * from name

Για να μετρήσετε τον αριθμό των εγγραφών στον πίνακα χρησιμοποιώντας το Select μετρώ(*) από το txnrecords

Συγκέντρωση:

Επιλέξτε καταμέτρηση (κατηγορία DISTINCT) από το όνομα του πίνακα

Αυτή η εντολή θα μετρήσει τη διαφορετική κατηγορία του πίνακα «cate». Εδώ υπάρχουν 3 διαφορετικές κατηγορίες.

Ας υποθέσουμε ότι υπάρχει ένα άλλο cate table όπου το f1 είναι το όνομα πεδίου της κατηγορίας.

Ομαδοποίηση:

Η εντολή ομάδας χρησιμοποιείται για την ομαδοποίηση του συνόλου αποτελεσμάτων από μία ή περισσότερες στήλες.

Επιλέξτε κατηγορία, άθροισμα (ποσό) από την ομάδα εγγραφών txt ανά κατηγορία

Υπολογίζει το ποσό της ίδιας κατηγορίας.

Το αποτέλεσμα ένας πίνακας αποθηκεύεται σε έναν άλλο πίνακα.

Δημιουργήστε πίνακα newtablename ως select * από oldtablename

Συμμετοχή στην εντολή:

Εδώ δημιουργείται ένας ακόμη πίνακας στο όνομα «Μηνύματα»

Εγγραφείτε στη λειτουργία :

Μια λειτουργία Join εκτελείται για το συνδυασμό πεδίων από δύο πίνακες χρησιμοποιώντας κοινές τιμές για κάθε έναν.

Αριστερά εξωτερική εγγραφή :

Το αποτέλεσμα ενός αριστερού εξωτερικού συνδέσμου (ή απλώς αριστερού συνδέσμου) για τους πίνακες Α και Β περιέχει πάντα όλες τις εγγραφές του 'αριστερού' πίνακα (Α), ακόμα και αν η συνθήκη συνάρτησης δεν εντοπίζει αντίστοιχη εγγραφή στον πίνακα 'δεξιά' (ΣΙ).

Δεξιά εξωτερική συμμετοχή :

Η δεξιά εξωτερική ένωση (ή δεξιά ένωση) μοιάζει πολύ με την αριστερή εξωτερική ένωση, εκτός εάν η επεξεργασία των πινάκων αντιστραφεί. Κάθε σειρά από τον «δεξί» πίνακα (B) θα εμφανίζεται στον ενωμένο πίνακα τουλάχιστον μία φορά.

python def __init__

Πλήρης συμμετοχή :

Ο ενωμένος πίνακας θα περιέχει όλες τις εγγραφές και από τους δύο πίνακες και θα συμπληρώσει NULL για αγώνες που λείπουν και στις δύο πλευρές.

Μόλις γίνει η κυψέλη μπορούμε να χρησιμοποιήσουμε την εντολή quit για έξοδο από το κέλυφος της κυψέλης.

Έξοδος από την κυψέλη

Η κυψέλη είναι απλώς ένα μέρος του μεγάλου παζλ που ονομάζεται Big Data και Hadoop. Το Hadoop είναι κάτι πολύ περισσότερο από το Hive. Κάντε κλικ παρακάτω για να δείτε ποιες άλλες δεξιότητες πρέπει να αποκτήσετε στο Hadoop.

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων και θα επικοινωνήσουμε μαζί σας.

Σχετικές αναρτήσεις:

7 τρόποι με την εκπαίδευση μεγάλων δεδομένων μπορεί να αλλάξει τον οργανισμό σας

Μοντέλα δεδομένων κυψέλης