Der Begriff "Big Data" ist verwendet für Sammlungen von großen DatenSetz, dass umfasst große Volumen, hohe Geschwindigkeit und eine Vielzahl von Daten, die zunehmende Tag für Tag ist. MitHilfe traditionellen Datenmanagementsysteme, ist es schwierig, Big Data zu verarbeiten. Daher eingebracht die Apache Software Foundation einen Rahmen genannt Hadoop zu lösen Big Data-Management und Verarbeitung Herausforderungen.
Hadoop ist ein Open-Source-Framework, um in einer verteilten Umgebung speichern und verarbeiten Big Data. Es enthält zwei Module,eine ist kartereduzieren und andere ist Hadoop verteiltes Dateisystem (HDFS).
kartereduzieren: Es ist eine parallele Programmiermodell für die Verarbeitung großer Mengen von strukturierten, semi-strukturierten und unstrukturierten Daten über große Cluster von Standard-Hardware.
HDFS:Hadoop Distributed File System ist ein Teil des Hadoop Framework, verwendeten zu Speicherung und Verarbeitung der Datensatz. Es bietet eine fehlertolerante Dateisystem, um auf Wirtschaftsgut hardware laufen.
Die Hadoop Ökosystem enthält verschiedene Teilprojekte (Werkzeuge), wie Sqoop, Schwein, und Hive, dass verwendet werden, um Hadoop-Module helfen.
Sqoop: Es ist verwenden für den Import und Export Daten hin und her zwischen HDFS und RDBMS.
Pig: Es ist eine prozeduralen Sprache-Plattform verwendet werden um ein Skript für MapReduce Operationen entwickeln.
Hive: Es ist eine Plattform verwenden zu entwickeln SQL- Art Skripte zu tun MapReduce Operationen.
Hinweis: Es gibt verschiedene Möglichkeiten, um MapReduce Operationen hinrichten:
Hive ist ein Data-Warehouse-Infrastruktur Werkzeug, um strukturierte Daten in Hadoop zu verarbeiten. Es befindet sich auf der Oberseite des Hadoop zu zusammenzufassen Big Data , und macht die Abfrage und Analyse einfach.
Zunächst Hive wurde von Facebook entwickelt, später nahm der Apache Software Foundation es auf und entwickelt sie weiter als Open Source unter dem Namen Apache Hive. Es wird von verschiedenen Unternehmen verwendet. So verwendet beispielsweise Amazon in Amazon Elastic MapReduce.
Das folgende Komponentendiagramm zeigt die Architektur des Hive:
Diese Komponente Diagramm enthält verschiedene Einheiten. In der folgenden Tabelle die einzelnen Einheit:
Einheit Name | Betrieb |
---|---|
Benutzeroberfläche | Hive ist ein Data-Warehouse-Infrastruktur-Software, die Interaktion zwischen Benutzer und HDFS erstellen können. Die Benutzeroberflächen dass Hive Stützen sind Hive Web-UI, Hive Befehlszeile, und Hive HD Insight (In Windows Server). |
Meta Store | Hive wählt jeweiligen Datenbankserver, um das Schema oder Metadaten von Tabellen, Datenbanken, Spalten in einer Tabelle zu speichern, die Datentypen und HDFS Mapping. |
HiveQL Prozess-Engine | HiveQL ist ähnlich wie SQL für die Abfrage von auf Schema Informationen auf die Metastore . Es ist eines der Ersatz herkömmlicher Ansatz zur MapReduce Programms. Anstelle von schreiben MapReduce-Programm in Java zu schreiben, können wir schreiben eine Abfrage für MapReduce Job- und Prozess-es. |
Ausführungs-Engine | Die Verbindung Teil HiveQL Prozess-Engine und MapReduce ist Hive Execution Engine. Die Ausführungsmaschine verarbeitet die Abfrage und erzeugt Ergebnisse als selben wie MapReduce Ergebnisse. Es verwendet den Geschmack von MapReduce. |
HDFS or HBASE | Hadoop Distributed File System oder Hbase sind die Datenspeicher-Techniken, um Daten in Dateisystem gespeichert werden. |
Das folgende Diagramm zeigt den Workflow zwischen Hive und Hadoop.
Die folgende Tabelle gibt an, wie Hive interagiert mit Hadoop-Framework:
Schritt Nein. | Betrieb |
---|---|
1 | Abfrage ausführen
The Hive Schnittstelle wie Befehlszeile oder Web-Interface sendet Abfrage Driver (jeder Datenbanktreiber wie JDBC, ODBC, etc.) ausgeführt werden. |
2 | Get Plan
Der Fahrer nimmt die Hilfe von Abfragecompiler, der die Abfrage analysiert, um die Syntax und die Abfrage-Plan oder das Erfordernis der Abfrage zu überprüfen. |
3 | Get Metadata
Der Compiler sendet Metadaten Anfrage an Metastore (eine Datenbank). |
4 | Senden Metadata
Metastore sendet Metadaten als eine Antwort auf den Compiler. |
5 | Senden Plan
Der Compiler überprüft die Anforderung und sendet den Plan für den Fahrer. Bis hierher ist die komplette Analyse und Erstellung von einer Abfrage. |
6 | Ausführen Plan
Der Treiber sendet die Ausführungsplan für die Ausführung Motor. |
7 | Ausführen Job
Im Inneren der Prozess der Ausführung Job ist ein Job MapReduce. Das Ausführungsmodul sendet den Auftrag an Jobtracker, die in Namensknoten und diesen Job in Tasktracker, die in Datenknoten zuweist. Hier wird die Abfrage ausgeführt MapReduce Job. |
7.1 | Metadata Ops
In der Zwischenzeit in der Ausführung, die Ausführungsmaschine können Metadaten-Operationen mit Metastore auszuführen. |
8 | Fetch Ergebnisse
Die Ausführungsmaschine erhält die Ergebnisse aus Datenknoten . |
9 | Ergebnisse senden
Die Ausführungs-Engine sendet diese resultierenden Werte an den Fahrer. |
10 | Ergebnisse senden
Der Treiber sendet die Ergebnisse an Hive Schnittstellen. |