Βίντεο: hadoop yarn architecture 2024
Ενώ εξετάζετε τα στοιχεία της κυψέλης Apache που εμφανίζονται, μπορείτε να δείτε στο κάτω μέρος ότι η κυψέλη βρίσκεται πάνω από το σύστημα κατανομής αρχείων Hadoop) και συστήματα MapReduce.
Στην περίπτωση του MapReduce, τα στοιχεία δείχνουν τόσο τα στοιχεία Hadoop 1 όσο και το Hadoop 2. Με το Hadoop 1, τα ερωτήματα Hive μετατρέπονται σε κώδικα MapReduce και εκτελούνται χρησιμοποιώντας την υποδομή MapReduce v1 (MRv1), όπως το JobTracker και το TaskTracker.
Με το Hadoop 2, το YARN έχει αποσυνδέσει τη διαχείριση των πόρων και τον προγραμματισμό από το πλαίσιο MapReduce. Τα ερωτήματα κυψέλης μπορούν ακόμα να μετατραπούν σε κώδικα MapReduce και να εκτελεστούν τώρα με το MapReduce v2 (MRv2) και την υποδομή YARN.
Υπάρχει ένα νέο υπό ανάπτυξη πλαίσιο που ονομάζεται Apache Tez, το οποίο έχει σχεδιαστεί για να βελτιώνει την απόδοση των κυψελών για αλληλεπιδράσεις τύπου batch και υποστηρίζει τα μικρότερα διαδραστικά (επίσης γνωστά ως πραγματικό χρόνο ) ερωτήματα. Κατά το χρόνο της γραφής, το έργο Apache Tez είναι ακόμα σε επώαση και δεν έχει ακόμα ετοιμότητα παραγωγής.
Εάν σας βοηθά να απεικονίσετε πώς όλα τα κομμάτια ταιριάζουν μεταξύ τους, σκεφτείτε τα συστήματα HDFS και MapReduce ως τμήματα του λειτουργικού συστήματος Apache Hadoop, με το Hive - καθώς και άλλα εξαρτήματα, όπως το HBase - ως λειτουργίες ή εφαρμογές υψηλότερου επιπέδου. (Μπορείτε να δείτε ένα κοινό θέμα που εμφανίζεται: το HDFS παρέχει το χώρο αποθήκευσης και το MapReduce παρέχει την δυνατότητα παράλληλης επεξεργασίας για λειτουργίες υψηλότερου επιπέδου εντός του οικοσυστήματος Hadoop.)Προχωρώντας στο διάγραμμα, βρίσκετε το Driver Hive, το οποίο μεταγλωττίζει, βελτιστοποιεί και εκτελεί το HiveQL. Ο οδηγός κυψελών μπορεί να επιλέξει να εκτελέσει εντολές και εντολές HiveQL τοπικά ή να δημιουργήσει μια εργασία MapReduce, ανάλογα με το έργο που έχετε. Το πρόγραμμα Hive Driver αποθηκεύει τα μεταδεδομένα πίνακα στο metastore και τη βάση δεδομένων του.
Έχετε πιθανώς κάποια εξοικείωση με το SQL και το μοντέλο σχεσιακής βάσης δεδομένων από τον κόσμο των RDBMS. Μια σχέση πίνακα ή σχέση αποτελείται από κάθετες στήλες και οριζόντιες σειρές. Τα κελιά αποθηκεύονται όπου διασταυρώνονται οι σειρές και οι στήλες. Αν δεν είστε εξοικειωμένοι με το SQL και το μοντέλο σχεσιακής βάσης δεδομένων, μπορείτε να βρείτε χρήσιμες πηγές μάθησης χρησιμοποιώντας την αγαπημένη σας μηχανή αναζήτησης.
Από προεπιλογή, το Hive περιλαμβάνει το RDBMS του Apache Derby που έχει διαμορφωθεί με το metastore σε αυτό που ονομάζεται ενσωματωμένη λειτουργία. Η ενσωματωμένη λειτουργία σημαίνει ότι το Driver Hive, το metastore και το Apache Derby εκτελούνται όλοι σε μία εικονική μηχανή Java (JVM).
Αυτή η ρύθμιση είναι καλή για μαθησιακούς σκοπούς, αλλά ο ενσωματωμένος τρόπος λειτουργίας μπορεί να υποστηρίξει μόνο μία συνεδρία Hive, επομένως κανονικά δεν χρησιμοποιείται σε περιβάλλοντα παραγωγής πολλαπλών χρηστών.Δύο άλλες λειτουργίες υπάρχουν - τοπικές και απομακρυσμένες - οι οποίες μπορούν να υποστηρίξουν καλύτερα πολλαπλές συνεδρίες κυψελών σε περιβάλλοντα παραγωγής. Επίσης, μπορείτε να ρυθμίσετε τις παραμέτρους RDBMS που είναι συμβατές με τη σουίτα διεπαφής προγραμματισμού εφαρμογών Java Database Connectivity (JDBC). (Τα παραδείγματα περιλαμβάνουν MySQL και DB2.)
Το κλειδί για την υποστήριξη εφαρμογών είναι ο Hive Thrift Server, ο οποίος επιτρέπει σε ένα πλούσιο σύνολο πελατών να έχουν πρόσβαση στο υποσύστημα Hive. Ο πελάτης SQL SQuirreL ανοικτής πηγής συμπεριλαμβάνεται ως παράδειγμα. Το βασικό σημείο είναι ότι οποιαδήποτε εφαρμογή που είναι συμβατή με το JDBC μπορεί να έχει πρόσβαση στην κυψέλη μέσω του παρεχόμενου προγράμματος οδήγησης JDBC.
Η ίδια δήλωση ισχύει και για τους πελάτες που συμμορφώνονται με την Open Database Connectivity (ODBC) - για παράδειγμα, το unixODBC και το βοηθητικό πρόγραμμα isql, τα οποία είναι συνήθως συνδεδεμένα με το Linux, επιτρέπουν την πρόσβαση στο Hive από απομακρυσμένους πελάτες Linux.
Επιπλέον, εάν χρησιμοποιείτε το Microsoft Excel, θα είστε ευτυχείς που γνωρίζετε ότι μπορείτε να αποκτήσετε πρόσβαση στην Ομάδα μετά την εγκατάσταση του προγράμματος οδήγησης Microsoft ODBC στο σύστημά σας-πελάτη. Τέλος, εάν χρειάζεστε πρόσβαση στην ομάδα από διαφορετικές γλώσσες προγραμματισμού εκτός από Java (PHP ή Python, για παράδειγμα), η Apache Thrift είναι η απάντηση. Οι πελάτες Apache Thrift συνδέονται με το Hive μέσω του Hive Thrift Server, ακριβώς όπως κάνουν οι πελάτες JDBC και ODBC.
Για να συνεχίσετε με το σχέδιο αρχιτεκτονικής Hive, σημειώστε ότι το Hive περιλαμβάνει μια διεπαφή γραμμής εντολών (CLI), όπου μπορείτε να χρησιμοποιήσετε ένα παράθυρο τερματικού Linux για την έκδοση ερωτημάτων και διοικητικών εντολών απευθείας στον οδηγό κυψελών. Εάν μια γραφική προσέγγιση είναι μεγαλύτερη από την ταχύτητά σας, υπάρχει επίσης μια εύχρηστη διεπαφή ιστού, έτσι ώστε να μπορείτε να αποκτήσετε πρόσβαση στους πίνακες και τα δεδομένα που διαχειρίζεστε με το Hive μέσω του αγαπημένου σας προγράμματος περιήγησης.
Υπάρχει άλλη τεχνολογία προγράμματος περιήγησης ιστού που είναι γνωστή ως Απόχρωση (Hue) και παρέχει γραφικό περιβάλλον εργασίας (GUI) στο Apache Hive. Ορισμένοι χρήστες του Hadoop επιθυμούν να έχουν στη διάθεσή τους ένα GUI αντί για μια διασύνδεση γραμμής εντολών (CLI). Μαζί με την κυψέλη, η Hue υποστηρίζει και άλλες βασικές τεχνολογίες Hadoop, όπως το HDFS, το MapReduce / YARN, το HBase, το Zookeeper, το Oozie, το Pig και το Sqoop. Θα σας αρέσει το όνομα του Hue Apache Hive GUI - ονομάζεται Beeswax.