Was ist Hive in Hadoop? Geschichte und ihre Bestandteile
Veröffentlicht: 2021-10-07Apache Hive ist ein Open-Source-Warehousing-System, das auf Hadoop aufbaut. Hive wird zum Abfragen und Analysieren riesiger Datensätze verwendet, die in Hadoop gespeichert sind. Es funktioniert, indem sowohl strukturierte als auch halbstrukturierte Daten verarbeitet werden.
Lassen Sie uns in diesem Artikel ausführlich über Hive in Hadoop, seine Geschichte, seine Bedeutung, die Hive-Architektur, einige Schlüsselfunktionen, einige Einschränkungen und mehr sprechen!
Inhaltsverzeichnis
Was ist Hive?
Apache Hive ist einfach eine Data-Warehouse-Software, die auf der Basis von Hadoop erstellt wurde. Vor Apache Hive mussten Big-Data-Ingenieure komplexe Map-Reduce-Jobs schreiben, um Abfrageaufgaben auszuführen. Mit Hive hingegen wurden die Dinge drastisch reduziert, da Ingenieure jetzt nur noch SQL beherrschen müssen.
Hive arbeitet mit einer Sprache, die als HiveQL bekannt ist (ähnlich wie SQL), was es für Ingenieure einfacher macht, die über Grundkenntnisse in SQL verfügen. HiveQL übersetzt Ihre SQL-Abfragen automatisch in Map-Reduce-Jobs, die Hadoop ausführen kann.
Dabei bringt Apache das Konzept der Abstraktion in die Arbeitsweise von Hadoop ein und ermöglicht es Datenexperten, mit komplexen Datensätzen umzugehen, ohne die Programmiersprache Java für die Arbeit mit Hive zu lernen. Apache Hive arbeitet auf Ihrer Workstation und wandelt SQL-Abfragen in Map-Reduce-Jobs um, die auf dem Hadoop-Cluster ausgeführt werden. Hive kategorisiert alle Ihre Daten in Tabellen und bietet so eine Struktur für alle in HDFS vorhandenen Daten.
Geschichte von Apache Hive
Das Data Infrastructure Team stellte Apache Hive bei Facebook vor. Es ist eine der Technologien, die auf Facebook proaktiv für zahlreiche interne Zwecke verwendet wird. Im Laufe der Jahre hat Apache Hive Tausende von Jobs auf dem Cluster mit Hunderten von Benutzern für eine Reihe von Anwendungen ausgeführt.
Der Hive-Hadoop-Cluster bei Facebook speichert mehr als 3 PB an Rohdaten. Es kann täglich 15 TB Daten in Echtzeit laden. Von da an wuchs Apache Hive in seinen Anwendungsfällen noch weiter und wird heute von Giganten wie IBM, Yahoo, Amazon, FINRA, Netflix und anderen verwendet.
Holen Sie sich Ihre Data Science-Zertifizierung online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.
Warum die Notwendigkeit für Apache Hive?
Vor der Entwicklung von Apache Hive hatte Facebook mit vielen Herausforderungen zu kämpfen, wie der ständig wachsenden zu analysierenden Datenmenge und der völligen Inkonsistenz in diesem großen Datensatz. Diese Herausforderungen erschwerten es Facebook, seine datenintensiven Aufgaben nahtlos zu bewältigen. Die traditionellen RDBMS-basierten Strukturen reichten nicht aus, um den ständig wachsenden Druck zu kontrollieren.
Facebook führte zuerst Map-Reduce ein, um diese Herausforderungen zu bewältigen, vereinfachte es dann aber weiter, indem es Apache Hive anbot, das auf HiveQL funktioniert.
Schließlich entpuppte sich Apache Hive als der dringend benötigte Retter und half Facebook, die verschiedenen Herausforderungen zu meistern. Mit Apache Hive konnte Facebook nun Folgendes erreichen:
- Evolution und Flexibilität des Schemas.
- Partitionierung und Bucketing von Tabellen.
- Hive-Tabellen direkt in HDFS definieren.
- Verfügbarkeit von ODBC/JDBC-Treibern.
Alles in allem hat Apache Hive den Entwicklern geholfen, viel Zeit zu sparen, die sonst für das Schreiben komplexer Map-Reduce-Jobs aufgewendet würde. Hive vereinfacht die Zusammenfassung, Analyse, Abfrage und Untersuchung von Daten.
Da Apache Hive nur auf SQL angewiesen ist, ist es ein schnelles und skalierbares Framework und in hohem Maße erweiterbar. Wenn Sie grundlegende Abfragen mit SQL verstehen, werden Sie im Handumdrehen mit Apache Hive arbeiten können! Es bietet auch Dateizugriff auf verschiedene Datenspeicher wie HBase und HDFS.
Die Architektur von Apache Hive
Nachdem Sie nun die Bedeutung und Entstehung von Apache Hive verstanden haben, wollen wir uns die Hauptkomponenten von Apache Hive ansehen. Die Architektur von Apache Hive umfasst:
1. Metastore
Dies wird zum Speichern von Metadaten für jede der Tabellen verwendet. Die Metadaten bestehen im Allgemeinen aus dem Ort und dem Schema. Metastore besteht auch aus den Partitionsmetadaten, die Ingenieuren dabei helfen, den Fortschritt verschiedener Datensätze zu verfolgen, die über die Cluster verteilt wurden. Die hier gespeicherten Daten liegen im traditionellen RDBMS-Format vor.
2. Fahrer
Der Treiber in Apache Hive ist wie ein Controller, der für den Empfang der HiveQL-Anweisungen verantwortlich ist. Dann beginnt es mit der Ausführung dieser Anweisungen, indem es verschiedene Sitzungen erstellt. Der Fahrer ist auch für die Überwachung und Verwaltung des Lebenszyklus der Implementierung und ihres Fortschritts auf dem Weg verantwortlich. Treiber enthalten alle wichtigen Metadaten, die generiert werden, wenn eine HiveQL-Anweisung ausgeführt wird. Es fungiert auch als Sammelpunkt für Daten, die nach der Map-Reduce-Operation erhalten wurden.
3. Compiler
Der Compiler wird zum Kompilieren der HiveQL-Abfragen verwendet. Es wandelt die benutzergenerierten Abfragen in einen narrensicheren Ausführungsplan um, der alle Aufgaben enthält, die ausgeführt werden müssen. Der Plan enthält auch alle Schritte und Verfahren, die erforderlich sind, um Map-Reduce zu befolgen, um die erforderliche Ausgabe zu erhalten. Der Hive-Compiler konvertiert die Benutzereingabeabfrage in AST (Abstract Syntax Tree), um auf Kompilierzeitfehler oder Kompatibilitätsprobleme zu prüfen. Der AST wird in einen gerichteten azyklischen Graphen (DAG) umgewandelt, wenn keines der Probleme auftritt.
4. Optimierer
Der Optimierer führt alle Transformationen am Ausführungsplan durch, die erforderlich sind, um den optimierten DAG zu erreichen. Dazu werden alle Transformationen aggregiert, z. B. das Konvertieren eines Arrays einzelner Joins in einen einzigen Join, um die Leistung zu verbessern. Darüber hinaus kann der Optimierer verschiedene Aufgaben aufteilen, indem er eine Transformation auf Daten anwendet, bevor die reduzierte Operation durchgeführt wird – wiederum, um die Gesamtleistung zu verbessern.
5. Vollstrecker –
Nachdem Apache Hive die Kompilierungs- und Optimierungsaufgaben ausgeführt hat, führt der Executor die endgültigen Ausführungen durch. Es kümmert sich um die Pipeline der Aufgaben und bringt sie zum Abschluss.
6. CLI, UI und Thrift-Server
Die Befehlszeilenschnittstelle (CLI) wird verwendet, um dem externen Benutzer eine Benutzeroberfläche bereitzustellen, über die er mit den verschiedenen Funktionen von Apache Hive interagieren kann. CLI ist das, was die Benutzeroberfläche von Hive für die Endbenutzer ausmacht. Andererseits ermöglicht der Thrift-Server externen Clients, mit Hive über ein Netzwerk zu interagieren, ähnlich wie bei den ODBC- oder JDBC-Protokollen.
Kernfunktionen von Apache Hive
Wie bereits erwähnt, brachte Apache Hive eine dringend benötigte Änderung in der Art und Weise, wie Ingenieure an Datenaufträgen arbeiteten. Java war nicht mehr die bevorzugte Sprache, und Entwickler konnten nur mit SQL arbeiten. Abgesehen davon gibt es noch einige andere wesentliche Funktionen von Hive, wie zum Beispiel:
- Apache Hive bietet Datenzusammenfassung, Analyse und Abfrage auf viel einfachere Weise.
- Hive unterstützt interne und externe Tabellen, wodurch es möglich wird, mit externen Daten zu arbeiten, ohne sie in das HD-DFS zu bringen.
- Apache Hive eignet sich perfekt für die Low-Level-Schnittstellenanforderungen von Hadoop.
- Durch die Unterstützung der Datenpartitionierung auf Tabellenebene trägt Apache Hive zur Verbesserung der Gesamtleistung bei.
- Es verfügt über einen regelbasierten Optimierer zur Optimierung verschiedener logischer Pläne.
- Es funktioniert mit HiveQL, einer SQL-ähnlichen Sprache, was bedeutet, dass Entwickler keine andere Sprache beherrschen müssen, um mit großen Datensätzen zu arbeiten.
- Das Abfragen in Hive ist extrem einfach, ähnlich wie in SQL.
- Wir können auch Ad-hoc-Abfragen für die Datenanalyse mit Hive ausführen.
Einschränkung von Apache Hive
Da die Welt der Datenwissenschaft relativ neu ist und sich ständig weiterentwickelt, haben selbst die besten auf dem Markt verfügbaren Tools einige Einschränkungen. Die Lösung dieser Einschränkungen wird uns die nächstbesten Tools liefern. Hier sind einige Einschränkungen bei der Arbeit mit Apache Hive, die Sie beachten sollten:
- Hive bietet keine Aktualisierungen auf Zeilenebene und Echtzeitabfragen.
- Apache Hive bietet eine akzeptable Latenz für Interaktivität.
- Es ist nicht das Beste für die Arbeit mit Online-Transaktionen.
- Die Latenz bei Hive-Abfragen ist im Allgemeinen höher als der Durchschnitt.
Abschließend
Apache Hive brachte drastische und erstaunliche Verbesserungen in der Art und Weise, wie Dateningenieure an großen Datensätzen arbeiten. Da die Programmiersprache Java vollständig überflüssig wurde, brachte Apache Hive Dateningenieuren vertrauten Komfort. Heute können Sie problemlos mit Apache Hive arbeiten, wenn Sie über grundlegende Kenntnisse der SQL-Abfrage verfügen.
Wie bereits erwähnt, ist Data Science ein dynamisches und sich ständig weiterentwickelndes Gebiet. Wir sind sicher, dass die kommenden Jahre neue Tools und Frameworks hervorbringen werden, um die Dinge noch weiter zu vereinfachen. Wenn Sie ein Daten-Enthusiast sind, der alle Tools des Data Science-Handels erlernen möchte, ist jetzt die beste Zeit, sich mit Big Data-Tools wie Hive vertraut zu machen.
Bei upGrad haben wir Studenten aus der ganzen Welt betreut und angeleitet und Menschen mit unterschiedlichem Hintergrund geholfen, in der Data Science-Branche Fuß zu fassen. Unsere fachkundigen Lehrer, Branchenpartnerschaften, Vermittlungsunterstützung und unser robustes Alumni-Netzwerk stellen sicher, dass Sie auf dieser Reise nie allein sind. Sehen Sie sich also unser Executive PG Program in Data Science an und schreiben Sie sich für das Programm ein, das zu Ihnen passt – wir kümmern uns um den Rest!
Apache Hive ist ein Framework oder System, das zum Speichern, Abfragen und Analysieren großer Datensätze verwendet wird. Apache Hive wurde von Facebook eingeführt, um seine internen Abläufe zu verbessern, und ist seitdem ein fester Bestandteil des Data-Science-Spektrums. Nein! Nur die Grundkenntnisse von SQL reichen aus, um mit Apache Hive zu beginnen! Apache Hive wird im Allgemeinen für OLAP (Batch-Verarbeitung) und aufgrund der Echtzeitoperationen auf der Datenbank im Allgemeinen nicht für OLTP verwendet.Was ist Apache Hive in Hadoop?
Muss ich eine bestimmte Sprache lernen, um mit Apache Hive in Hadoop zu arbeiten?
Wofür wird Apache Hive NICHT verwendet?