Οδηγός HiveQL (Hive Query Language): Ενσωματωμένοι χειριστές

Πίνακας περιεχομένων:

Anonim

Τι είναι η HiveQL (Hive Query Language);

Hive παρέχει ένα CLI για τη σύνταξη ερωτημάτων Hive χρησιμοποιώντας Hive Query Language (HiveQL). Γενικά η σύνταξη HQL είναι παρόμοια με τη σύνταξη SQL με την οποία γνωρίζουν οι περισσότεροι αναλυτές δεδομένων.

Η γλώσσα εμπνευσμένη από το SQL της Hive διαχωρίζει τον χρήστη από την πολυπλοκότητα του προγραμματισμού Map Reduce. Επαναχρησιμοποιεί οικείες έννοιες από τον κόσμο της σχεσιακής βάσης δεδομένων, όπως πίνακες, σειρές, στήλες και σχήμα, για να διευκολύνει τη μάθηση.

Οι περισσότερες αλληλεπιδράσεις τείνουν να πραγματοποιούνται μέσω μιας διεπαφής γραμμής εντολών (CLI). Η Hive παρέχει ένα CLI για τη σύνταξη ερωτημάτων Hive χρησιμοποιώντας τη γλώσσα ερωτήματος Hive (Hive-QL).

Γενικά, η σύνταξη HiveQL είναι παρόμοια με τη σύνταξη SQL με την οποία γνωρίζουν οι περισσότεροι αναλυτές δεδομένων. Η ομάδα υποστηρίζει τέσσερις μορφές αρχείων που είναι TEXTFILE, SEQUENCEFILE, ORC και RCFILE (Record Columnar File).

  • Για αποθήκευση μεταδεδομένων ενός χρήστη η Hive χρησιμοποιεί βάση δεδομένων derby και
  • Για πολλούς χρήστες Metadata ή κοινόχρηστη περίπτωση Metadata, η Hive χρησιμοποιεί MYSQL

Ενσωματωμένοι χειριστές

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

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

Οι τύποι των ενσωματωμένων χειριστών στο HIVE είναι:

  • Σχεσιακοί χειριστές
  • Αριθμητικοί χειριστές
  • Λογικοί χειριστές
  • Χειριστές σε σύνθετους τύπους
  • Κατασκευαστές σύνθετου τύπου

Σχεσιακοί χειριστές:

Χρησιμοποιούμε Relational τελεστές για συγκρίσεις σχέσεων μεταξύ δύο τελεστών.

  • Χειριστές όπως ίσο, όχι ίσο, μικρότερο από, μεγαλύτερο από… κ.λπ.
  • Οι τύποι τελεστών είναι όλοι οι τύποι αριθμών σε αυτούς τους χειριστές.

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

Ενσωματωμένος χειριστής Περιγραφή Ορος πράξης
Χ = Υ TRUE αν η έκφραση X είναι ισοδύναμη με την έκφραση Y Διαφορετικά. Παίρνει όλους τους πρωτόγονους τύπους
Χ! = Υ ΑΛΗΘΕΙΑ εάν η έκφραση X δεν είναι ισοδύναμη με την έκφραση Y Διαφορετικά. Παίρνει όλους τους πρωτόγονους τύπους
Χ <Υ TRUE εάν η έκφραση X είναι μικρότερη από την έκφραση Y Διαφορετικά ΛΑΘΟΣ. Παίρνει όλους τους πρωτόγονους τύπους
X <= Υ TRUE εάν η έκφραση X είναι μικρότερη ή ίση με την έκφραση Y Διαφορετικά ΛΑΘΟΣ. Παίρνει όλους τους πρωτόγονους τύπους
Χ> Υ ΑΛΗΘΕΙΑ εάν η έκφραση X είναι μεγαλύτερη από την έκφραση Y Διαφορετικά ΛΑΘΟΣ. Παίρνει όλους τους πρωτόγονους τύπους
X> = Υ TRUE εάν η έκφραση X είναι μεγαλύτερη ή ίση με την έκφραση Y Διαφορετικά ΛΑΘΟΣ. Παίρνει όλους τους πρωτόγονους τύπους
Το X είναι μηδενικό ΑΛΗΘΕΙΑ εάν η έκφραση X αξιολογείται σε NULL διαφορετικά FALSE. Παίρνει όλους τους τύπους
Το X ΔΕΝ ΕΙΝΑΙ NULL FALSE Εάν η έκφραση X αξιολογείται σε NULL διαφορετικά TRUE. Παίρνει όλους τους τύπους
Χ Αρέσει το Υ TRUE Εάν το μοτίβο συμβολοσειράς X ταιριάζει με το Y διαφορετικά FALSE. Παίρνει μόνο χορδές
X RLIKE Y NULL εάν το X ή το Y είναι NULL, ΑΛΗΘΕΙΑ εάν οποιοδήποτε substring του X ταιριάζει με την τυπική έκφραση Java Y, διαφορετικά FALSE. Παίρνει μόνο χορδές
X REGEXP Υ Ίδιο με το RLIKE. Παίρνει μόνο χορδές

Αριθμητικοί χειριστές :

Χρησιμοποιούμε αριθμητικούς τελεστές για την εκτέλεση αριθμητικών πράξεων σε τελεστές

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

Παράδειγμα δείγματος:

Το 2 + 3 δίνει το αποτέλεσμα 5.

Σε αυτό το παράδειγμα, το '+' είναι ο χειριστής και τα 2 και 3 είναι τελεστές. Η τιμή επιστροφής είναι 5

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

Ενσωματωμένος χειριστής Περιγραφή Ορος πράξης
Χ + Υ Θα επιστρέψει την έξοδο της προσθήκης τιμών X και Y. Παίρνει όλους τους τύπους αριθμών
Χ - Υ Θα επιστρέψει την έξοδο της αφαίρεσης Y από την τιμή X. Παίρνει όλους τους τύπους αριθμών
Χ * Υ Θα επιστρέψει την έξοδο πολλαπλασιασμού των τιμών X και Y. Παίρνει όλους τους τύπους αριθμών
Χ / Υ Θα επιστρέψει την έξοδο του διαχωρισμού Y από το X. Παίρνει όλους τους τύπους αριθμών
Χ% Υ Θα επιστρέψει το υπόλοιπο που προκύπτει από τη διαίρεση του Χ με το Υ. Παίρνει όλους τους τύπους αριθμών
Χ & Υ Θα επιστρέψει την έξοδο bitwise AND των X και Y. Παίρνει όλους τους τύπους αριθμών
Χ | Γ Θα επιστρέψει την έξοδο bitwise OR των X και Y. Παίρνει όλους τους τύπους αριθμών
Χ Υ Θα επιστρέψει την έξοδο bitwise XOR των X και Y. Παίρνει όλους τους τύπους αριθμών
~ Χ Θα επιστρέψει την έξοδο bitwise ΟΧΙ του X. Παίρνει όλους τους τύπους αριθμών

Λογικοί χειριστές:

Χρησιμοποιούμε λογικούς τελεστές για την εκτέλεση λογικών λειτουργιών σε τελεστές

  • Λογικές λειτουργίες όπως AND, OR, NOT μεταξύ τελεστών χρησιμοποιούμε αυτούς τους χειριστές.
  • Όλοι οι τύποι τελεστών είναι τύπου BOOLEAN σε αυτούς τους χειριστές

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

Χειριστές Περιγραφή Λειτουργίες
Χ ΚΑΙ Υ ΑΛΗΘΕΙΑ εάν και τα δύο Χ και Υ είναι ΑΛΗΘΑ, διαφορετικά είναι ΛΑΘΟΣ. Μόνο τύποι Boolean
X && Υ Ίδιο με το Χ ΚΑΙ Υ αλλά εδώ χρησιμοποιούμε το σύμβολο && Μόνο τύποι Boolean
Χ Ή Υ ΑΛΗΘΕΙΑ εάν είτε το Χ είτε το Υ είτε και τα δύο είναι ΑΛΗΘΕΙΑ, διαφορετικά είναι ΛΑΘΟΣ Μόνο τύποι Boolean
Χ || Γ Ίδιο με το X Ή Y, αλλά εδώ χρησιμοποιούμε || σύμβολο Μόνο τύποι Boolean
ΟΧΙ Χ TRUE αν το X είναι FALSE, αλλιώς FALSE. Μόνο τύποι Boolean
Ίδιο με το NOT X αλλά εδώ χρησιμοποιούμε! σύμβολο Μόνο τύποι Boolean

Χειριστές σε σύνθετους τύπους:

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

Χειριστές Λειτουργίες Περιγραφή
Ενα] Το A είναι Array και το n είναι ακέραιος τύπος Θα επιστρέψει το nth στοιχείο στον πίνακα A. Το πρώτο στοιχείο έχει δείκτη 0
Μ [κλειδί] Το M είναι ένας Χάρτης και το κλειδί έχει τον τύπο K Θα επιστρέψει τις τιμές που ανήκουν στο κλειδί στο χάρτη

Κατασκευαστές σύνθετου τύπου:

Ο παρακάτω πίνακας θα μας δώσει λεπτομέρειες σχετικά με Κατασκευαστές σύνθετου τύπου. Θα κατασκευάσει παρουσίες σε σύνθετους τύπους δεδομένων. Αυτοί είναι πολύπλοκοι τύποι δεδομένων όπως οι πίνακες Array, Map και Struct στο Hive.

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

Χειριστές Λειτουργίες Περιγραφή
πίνακας (val1, val2,…) Θα δημιουργήσει έναν πίνακα με τα δεδομένα στοιχεία όπως αναφέρονται όπως val1, val2
Δημιουργία_ ένωσης (ετικέτα, val1, val2,…) Θα δημιουργήσει έναν τύπο ένωσης με τις τιμές στις οποίες αναφέρεται η παράμετρος ετικέτας
χάρτης (key1, value1, key2, value2,…) Θα δημιουργήσει έναν χάρτη με τα δεδομένα ζεύγη κλειδιών / τιμών που αναφέρονται στους τελεστές
Όνομα_ δομή (name1, val1, name2, val2,…) Θα δημιουργήσει μια δομή με τα δεδομένα ονόματα πεδίων και τις τιμές που αναφέρονται στους τελεστές
ΔΟΜΗ (val1, val2, val3,…) Δημιουργεί μια δομή με τις δεδομένες τιμές πεδίου. Τα ονόματα πεδίων δομής θα είναι col1, col2,.

Περίληψη:

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