Die Architektur von Apache Hive

Wie Sie die Elemente von Apache Hive gezeigt untersuchen, können Sie an der Unterseite sehen, die Hive auf der Oberseite des Hadoop Distributed File System sitzt (HDFS) und MapReduce-Systeme.

bild0.jpg

Im Falle von MapReduce, die figureshows beiden Hadoop 1 und 2 Hadoop Komponenten. Mit Hadoop 1 werden Hive Abfragen MapReduce-Code umgewandelt und mit dem MapReduce v1 (MRV1) Infrastruktur ausgeführt, wie die Jobtracker und Tasktracker.

Mit Hadoop 2 hat GARN Ressourcenmanagement und Zeitplanung aus dem MapReduce Rahmen entkoppelt. Hive Abfragen können immer noch zu MapReduce-Code und ausgeführt umgewandelt werden, jetzt mit MapReduce v2 (MRv2) und die GARN-Infrastruktur.

Es gibt einen neuen Rahmen der Entwicklung namens Apache Tez, die Hive Leistung für Batch-Stil Abfragen ausgelegt ist zu verbessern und kleinere interaktive Unterstützung (auch bekannt als Echtzeit) Abfragen. Zum Zeitpunkt des Schreibens ist die Apache Tez Projekt noch in der Inkubation und noch keine produktionsfertige Version installiert haben.

Wenn es hilft visualisieren Sie, wie alle Teile zusammen passen, denken Sie an die HDFS und MapReduce-Systeme als Teile des Apache Hadoop-Betriebssystem, mit Hive - wie auch andere Komponenten, wie HBase - als übergeordnete Funktionen oder Anwendungen. (Sie können ein gemeinsames Thema finden Sie heraus: HDFS die Speicherung bietet, und MapReduce bietet die parallele Verarbeitungsfähigkeit für übergeordnete Funktionen innerhalb des Hadoop Ökosystem.)

Auffahren das Diagramm finden Sie den Hive-Treiber, die kompiliert, optimiert und führt die HiveQL. The Hive-Treiber können wählen HiveQL Anweisungen und Befehle lokal oder laichen eine MapReduce Job, abhängig von der Aufgabe in der Hand auszuführen. The Hive-Treiber speichert die Metadaten der Tabelle in der Metastore und seiner Datenbank.

Sie haben wahrscheinlich eine gewisse Vertrautheit mit SQL und das relationale Datenbankmodell aus der Welt der RDBMS. EIN Tabelle oder Beziehung wird von vertikalen Spalten und horizontalen Reihen zusammengesetzt ist. Zellen die Zeilen und Spalten gespeichert sind, wo sich schneiden. Wenn Sie nicht vertraut mit SQL und relationalen Datenbankmodell sind, können Sie hilfreiche Lernquellen mit Ihrer bevorzugten Suchmaschine finden.

Standardmäßig enthält Hive das Apache Derby RDBMS mit dem Metastore konfiguriert, was Embedded-Modus genannt wird. Embedded-Modus bedeutet, dass die Hive-Treiber, die Metastore und Apache Derby alle in einer Java Virtual Machine (JVM) ausgeführt werden.

Diese Konfiguration ist für Lernzwecke in Ordnung, aber Embedded-Modus nur eine einzige Hive Sitzung unterstützen kann, so dass es in der Regel nicht in Multi-User-Produktionsumgebungen eingesetzt wird. Zwei weitere Modi existieren - lokal und entfernt - die besser können mehrere Hive Sitzungen in Produktionsumgebungen unterstützen. Außerdem können Sie eine beliebige RDBMS konfigurieren, die mit dem Java Database Connectivity (JDBC) Application Programming Interface (API) Suite konform ist. (Beispiele hierfür sind MySQL und DB2.)

Der Schlüssel zur Anwendungsunterstützung ist die Hive Thrift Server, die eine breite Palette von Kunden ermöglicht es dem Hive-Subsystem zugreifen. Die Open-Source SQuirreL SQL-Client Als Beispiel ist eingeschlossen. Der wichtigste Punkt ist, dass jeder JDBC-kompatible Anwendung Hive über den gebündelten JDBC-Treiber zugreifen können.

Die gleiche Aussage gilt für Clients kompatibel mit Open Database Connectivity (ODBC) - zum Beispiel unixODBC und die isql-Dienstprogramm, das mit Linux normalerweise gebündelt sind, ermöglichen den Zugriff auf Hive von entfernten Linux-Clients.

Außerdem, wenn Sie Microsoft Excel verwenden, werden Sie sich freuen zu wissen, dass Sie Hive zugreifen können, nachdem Sie den Microsoft ODBC-Treiber auf dem Client-System zu installieren. Schließlich, wenn Sie Hive zugreifen müssen von Programmiersprachen andere als Java (PHP oder Python, zum Beispiel), ist Apache Thrift die Antwort. Apache Thrift Clients eine Verbindung über den Hive Thrift Server Hive, ebenso wie die JDBC und ODBC-Clients tun.

Um mit dem Hive Architektur Zeichnung weiterhin zu beachten, dass Hive ein Command Line Interface (CLI) umfasst, in dem Sie eine Linux-Terminal-Fenster verwenden können Abfragen und administrative Befehle direkt an den Hive-Treiber zu erteilen. Wenn eine grafische Ansatz ist die Geschwindigkeit, gibt es auch eine praktische Web-Interface, so dass Sie Ihre Hive-verwalteten Tabellen und Daten über einen Browser verfügen zugreifen können.

Es gibt eine andere Web-Browser-Technologie bekannt als Farbton dass eine grafische Benutzeroberfläche (GUI) zu Apache Hive. Einige Hadoop Benutzer gerne eine GUI zur Verfügung zu haben, anstatt nur eine Befehlszeilenschnittstelle (CLI). Zusammen mit Hive unterstützt Hue andere wichtige Hadoop-Technologien und wie HDFS, MapReduce / GARN, HBase, Zoowärter, Oozie, Schwein, und Sqoop. Sie werden den Namen für Hue Apache Hive GUI mag - es ist Beeswax genannt.

Menü