Hive - Einführung



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

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:

  • Der traditionelle Ansatz mit Hilfe von Java MapReduce-Programm für strukturierte, halbstrukturierte und unstrukturierte Daten.
  • Die Scripting Ansatz für MapReduce zu prozess strukturierten und semi-strukturierten Daten mitHilfe Schwein.
  • The Hive Query Language (HiveQL oder HQL) für MapReduce, um strukturierte Daten zu verarbeiten, mitHilfe Bienenstock.

Was ist Hive

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.

Hive ist nicht

  • Eine relationale Datenbank
  • Eine Entwurf für Online-Transaktionsverarbeitung(OLTP)
  • Eine Sprache für die Echtzeit-Abfragen und Updates auf Zeilenebene

Merkmale Hive

  • Es speichert Schemas in einer Datenbank und verarbeitet Daten in HDFS.
  • Es ist für OLAP konzipiert.
  • Es bietet SQL-Typ Sprache zur Abfrage von genannt HiveQL oder HQL.
  • Es ist vertraut, schnell, skalierbar und erweiterbar.

Architektur von Hive

Das folgende Komponentendiagramm zeigt die Architektur des Hive:

Hive Architecture

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.

Arbeits von Hive

Das folgende Diagramm zeigt den Workflow zwischen Hive und Hadoop.

How Hive Works

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.

Advertisements