Was ist ein Bienenstock?

Apache Hive ist ein Data-Warehouse-System, das auf der Open-Source-Hadoop-Plattform basiert und für die Zusammenfassung von Daten, die Abfrage großer Datenmengen, die Datenanalyse usw. verwendet wird.

Der Hive wurde von Facebook entwickelt und später von der Apache Software Foundation übernommen, die ihn unter dem Namen Apache Hive als Open Source weiterentwickelte.

Definition:

Es ist keine relationale Datenbank und daher nicht für die Online-Transaktionsverarbeitung und Echtzeitabfragen mit Aktualisierungen auf Zeilenebene geeignet. Hive wurde für die Online-Analyseverarbeitung oder OLAP entwickelt. Es bietet auch eine Abfragesprache namens HiveQL. Es ist skalierbar, schnell und erweiterbar. Es konvertiert die Abfragen, die fast wie SQL aussehen, in MapReduce-Jobs, um eine einfache Ausführung und Verarbeitung einer großen Datenmenge zu ermöglichen. Apache Hive ist eine der Hadoop-Komponenten, die normalerweise von Datenanalysten verwendet werden, während Apache Pig ebenfalls für dieselbe Aufgabe verwendet wird, jedoch eher von Forschern und Programmierern. Apache Hive ist ein Open-Source-Data-Warehousing-System, mit dem riesige Datenmengen, die im Hadoop-Speicher gespeichert sind, abgefragt und analysiert werden. Hive eignet sich am besten für Batch-Jobs und nicht für die Verarbeitung von Online-Transaktionen. Echtzeit-Abfragen werden ebenfalls nicht unterstützt. Hive verwendet eine SQL-ähnliche Abfragesprache und wird hauptsächlich zum Erstellen von Berichten verwendet. Hive wird im Allgemeinen serverseitig bereitgestellt und unterstützt strukturierte Daten. Hive unterstützt auch die Integration mit JDBC- und BI-Tools.

Hive verstehen:

Nachfolgend sind die Hauptkomponenten des Bienenstocks aufgeführt:

Meta Store:

Das Repository, in dem die Metadaten gespeichert sind, wird als Hive-Metastore bezeichnet. Die Metadaten bestehen aus den verschiedenen Daten zu den Tabellen, z. B. Speicherort, Schema und Informationen zu den Partitionen, mit deren Hilfe der Fortschritt der unterschiedlich verteilten Daten im Cluster überwacht werden kann. Es verfolgt auch die Daten und repliziert die Daten, die eine Sicherung für Notfälle wie Datenverlust bieten. Die Metadateninformationen befinden sich in relationalen Datenbanken und nicht im Hadoop-Dateisystem.

Treiber:

Bei Ausführung der Hive-Abfragesprachenanweisung empfängt der Treiber die Anweisung und steuert sie für den gesamten Ausführungszyklus. Zusammen mit der Ausführung der Anweisung speichert der Treiber auch die aus der Ausführung generierten Metadaten. Außerdem werden Sitzungen erstellt, um den Fortschritt und den Lebenszyklus verschiedener Ausführungen zu überwachen. Nach Abschluss des Reduktionsvorgangs durch den MapReduce-Job sammelt der Treiber alle Daten und Ergebnisse der Abfrage

Compiler:

Es wird zum Übersetzen der Hive-Abfragesprache in die MapReduce-Eingabe verwendet. Es ruft eine Methode auf, die die Schritte und Aufgaben ausführt, die zum Lesen der HiveQL-Ausgabe nach Bedarf von MapReduce erforderlich sind.

Optimierer:

Die Hauptaufgabe des Optimierers besteht darin, die Effizienz und Skalierbarkeit zu verbessern und eine Aufgabe zu erstellen, während die Daten vor dem Reduzierungsvorgang transformiert werden. Es führt auch Transformationen wie Aggregation und Pipeline-Konvertierung durch einen einzelnen Join für mehrere Joins durch.

Testamentsvollstrecker:

Nach dem Kompilierungs- und Optimierungsschritt besteht die Hauptaufgabe des Ausführenden darin, die Aufgaben auszuführen. Die Hauptaufgabe des Executors besteht darin, mit Hadoop Job Tracker zu interagieren, um die auszuführenden Aufgaben zu planen.

Benutzeroberfläche, Thrift Server und CLI:

Der Thrift-Server wird von anderen Clients zur Interaktion mit der Hive-Engine verwendet. Über die Benutzeroberfläche und die Befehlszeilenschnittstelle können Abfragen sowie Prozessüberwachungen und Anweisungen übermittelt werden, damit externe Benutzer mit der Struktur interagieren können.

Nachfolgend sind die Schritte aufgeführt, die die Hive-Interaktion mit dem Hadoop-Framework veranschaulichen:

Abfrage ausführen:

Die Abfrage wird von Hive-Schnittstellen wie der Befehlszeile oder der Web-Benutzeroberfläche an den Treiber gesendet. Ein Treiber kann ein beliebiger Datenbanktreiber wie JDB oder ODBC sein.

Den Plan bekommen:

Die Syntax für die Anforderung der Abfrage oder des Abfrageplans kann mit Hilfe eines Abfrage-Compilers überprüft werden, der die Abfrage durchläuft und vom Treiber aufgerufen wird.

Abrufen der Metadaten:

Der Metastore kann sich in einer beliebigen Datenbank befinden, und der Compiler fordert den Zugriff auf die Metadaten an.

Senden der Metadaten:

Auf Anforderung des Compilers sendet der Metastore die Metadaten.

Senden des Plans:

Der Compiler sendet den Plan an den Treiber, um die vom Compiler gesendeten Anforderungen zu überprüfen. Dieser Schritt schließt das Parsen und Kompilieren einer Abfrage ab.

Plan ausführen:

Der Ausführungsplan wird vom Treiber an die Ausführungs-Engine gesendet.

Job ausführen:

Das Ausführen des Jobs ist ein MapReduce-Job, der im Backend ausgeführt wird. Dann folgt es der normalen Konvention des Hadoop-Frameworks - die Ausführungs-Engine sendet einen Job an den Job-Tracker, der sich auf dem Namensknoten befindet, und der Namensknoten weist wiederum den Job dem Task-Tracker zu, der sich in der Datennotiz befindet. Hier wird der MapReduce-Job ausgeführt.

Metadatenoperationen:

Während der Ausführung des Jobs kann das Ausführungsmodul Metadatenoperationen mit dem Metaspeicher ausführen.

Ergebnis abrufen:

Die Datenknoten geben nach Abschluss der Verarbeitung das Ergebnis an die Execution Engine weiter.

Senden Sie das Ergebnis

Der Fahrer erhält das Ergebnis von der Ausführungsmaschine.

Ergebnissendung:

Schließlich erhalten die Hive-Schnittstellen das Ergebnis vom Treiber.

Somit findet durch die Ausführung der obigen Schritte eine vollständige Abfrageausführung in Hive statt.

Wie macht das Hive die Arbeit so einfach?

Hive ist ein auf Hadoop basierendes Data Warehousing-Framework, mit dem Benutzer Datenanalysen, Datenabfragen und Datenzusammenfassungen für große Datenmengen durchführen können. HiveQL ist eine einzigartige Funktion, die wie in der Datenbank gespeicherte SQL-Daten aussieht und eine umfassende Analyse durchführt. Ich konnte Daten mit sehr hoher Geschwindigkeit lesen und in die Data Warehouses schreiben sowie große Datenmengen verwalten, die auf mehrere Standorte verteilt sind. Zusammen mit dieser Struktur werden auch die in der Datenbank gespeicherten Daten strukturiert, und Benutzer können mithilfe des Befehlszeilentools oder des JDBC-Treibers eine Verbindung zur Struktur herstellen.

Top-Unternehmen:

Große Unternehmen, die mit Big Data arbeiten, nutzen Hive - wie Facebook, Amazon, Walmart und viele andere.

Was kannst du mit Hive machen?

Es gibt viele Funktionen des Hives wie Datenabfrage, Datenzusammenfassung und Datenanalyse. Hive unterstützt eine Abfragesprache namens HiveQL oder Hive Query Language. Die Abfragen der Hive-Abfragesprache werden in einen MapReduce-Job übersetzt, der im Hadoop-Cluster verarbeitet wird. Abgesehen davon reduziert Hiveql auch Skripte, die zu den Abfragen hinzugefügt werden können. Auf diese Weise erhöht HiveQL die Flexibilität des Schemadesigns und unterstützt auch die Deserialisierung und Serialisierung von Daten.

Arbeiten mit Hive:

Im Folgenden finden Sie einige betriebliche Details in Hive. Hive-Datentypen werden wie folgt grob in vier Typen eingeteilt:

  • Spaltentypen
  • Literale
  • Nullwerte
  • Komplexe Typen

1. Spaltentypen:

Dies sind die Spaltendatentypen des Bienenstocks. Diese sind wie folgt klassifiziert:

  • Integrale Datentypen: Ganzzahlige Daten werden mit dem integralen Datentyp dargestellt. Das Symbol ist INT. Alle Daten, die die Obergrenze von INT überschreiten, müssen dem Datentyp BIGINT zugewiesen werden. Ebenso müssen alle Daten unterhalb der Untergrenze von INT SMALLINT zugewiesen werden. Es gibt einen anderen Datentyp namens TINYINT, der sogar kleiner als SMALLINT ist.
  • String-Typen: Der String-Datentyp wird im Hive durch einfache Anführungszeichen (') oder doppelte Anführungszeichen (“) dargestellt. Es kann zwei Typen geben - VARCHAR oder CHAR.
  • Zeitstempel: Hive-Zeitstempel unterstützt das java.sql.Timestamp-Format „jjjj-mm-tt hh: mm: ss.ffffffffff“ und das Format „JJJJ-MM-TT HH: MM: SS.fffffffff“.
  • Datum: Das Datum wird im Bienenstock im Format JJJJ-MM-TT für Jahr-Monat-Tag dargestellt.
  • Dezimalstellen : Dezimalstellen in einem Bienenstock werden im Java-Big-Decimal-Format dargestellt und dienen zur Darstellung einer unveränderlichen willkürlichen Genauigkeit. Es wird im Format Dezimal (Genauigkeit, Skalierung) dargestellt.
  • Union-Typen: Union wird im Hive verwendet, um eine Auflistung eines heterogenen Datentyps zu erstellen. Es kann mit create a union erstellt werden.

Unten ist ein Beispiel:

UNIONTYPE
(0:1)
(1:2.0)
(2:("three", "four"))
(3:("a":5, "b":"five"))
(2:("six", "seven"))
(3:("a":8, "b":"eight"))
(0:9)
(1:10.0)
UNIONTYPE
(0:1)
(1:2.0)
(2:("three", "four"))
(3:("a":5, "b":"five"))
(2:("six", "seven"))
(3:("a":8, "b":"eight"))
(0:9)
(1:10.0)

2. Literale:

Im Bienenstock werden nur wenige Literale verwendet. Sie sind wie folgt:

  • Gleitkommatyp : Sie werden als Zahlen mit einem Dezimalpunkt dargestellt. Diese sind dem doppelten Datentyp ziemlich ähnlich.
  • Dezimaltyp : Dieser Datentyp enthält nur Daten vom Typ Dezimal, jedoch mit einem höheren Gleitkommawertbereich als der Datentyp Double. Der Bereich des Dezimaltyps liegt bei ungefähr -10 -308 bis 10 308.

3. Nullwert:

Der Sonderwert NULL steht für fehlende Werte in der Struktur.

4. Komplexe Arten:

Nachfolgend sind die verschiedenen komplexen Typen aufgeführt, die im Bienenstock vorkommen:

  • Arrays : Arrays werden in der gleichen Form wie in Java in einem Hive dargestellt. Die Syntax ist wie bei ARRAY.
  • Karten : Karten werden im Bienenstock in der gleichen Form wie in Java dargestellt. Die Syntax ist wie bei MAP
  • .
  • Strukturen : Strukturen im Hive werden wie komplexe Daten mit Kommentaren dargestellt. Die Syntax ist wie bei STRUCT.

Neben all diesen können wir Datenbanken, Tabellen, Partitionen und viele andere Funktionen erstellen.

  • Datenbanken: Dies sind die Namespaces, die eine Auflistung von Tabellen enthalten. Nachfolgend finden Sie die Syntax zum Erstellen einer Datenbank in einer Struktur.

CREATE DATABASE (IF NOT EXISTS) sampled;

Die Datenbanken können auch gelöscht werden, wenn sie nicht mehr benötigt werden. Nachfolgend finden Sie die Syntax zum Löschen einer Datenbank.

DROP DATABASE (IF EXISTS) sampled;

  • Tabellen: Sie können auch in der Struktur erstellt werden, um Daten zu speichern. Nachfolgend finden Sie die Syntax zum Erstellen einer Tabelle.

CREATE (TEMPORARY) (EXTERNAL) TABLE (IF NOT EXISTS) (db_name.) table_nam
((col_name data_type (COMMENT col_comment), …)) (COMMENT table_comment
(ROW FORMAT row_format) (STORED AS file_format)

Ein Tisch kann auch gelöscht werden, wenn er nicht mehr benötigt wird. Nachfolgend finden Sie die Syntax zum Löschen einer Tabelle.

DROP TABLE (IF EXISTS) table_name;

Vorteile

Der Hauptvorteil von Apache Hive liegt in der Abfrage, Zusammenfassung und Analyse von Daten. Hive wurde für eine bessere Produktivität des Entwicklers entwickelt und ist auch mit den Kosten einer Erhöhung der Latenz und einer Verringerung der Effizienz verbunden. Apache Hive bietet eine breite Palette von benutzerdefinierten Funktionen, die mit anderen Hadoop-Paketen wie RHipe, Apache Mahout usw. verknüpft werden können. Es hilft Entwicklern in hohem Maße bei der Arbeit mit komplexen analytischen Verarbeitungen und mehreren Datenformaten. Es wird hauptsächlich für Data Warehousing verwendet, dh ein System zur Berichterstellung und Datenanalyse.

Es umfasst das Bereinigen, Transformieren und Modellieren von Daten, um nützliche Informationen zu verschiedenen Geschäftsaspekten bereitzustellen, die dazu beitragen, einen Nutzen für ein Unternehmen zu erzielen. Datenanalyse mit vielen verschiedenen Aspekten und Ansätzen, die verschiedene Techniken mit unterschiedlichen Namen in verschiedenen Geschäftsmodellen, sozialwissenschaftlichen Bereichen usw. umfassen. Hive ist sehr benutzerfreundlich und ermöglicht Benutzern den gleichzeitigen Zugriff auf die Daten, wodurch die Reaktionszeit erhöht wird. Im Vergleich zu anderen Arten von Abfragen bei großen Datenmengen ist die Antwortzeit des Hives viel schneller als bei anderen. Es ist auch hinsichtlich der Leistung beim Hinzufügen weiterer Daten und durch Erhöhen der Anzahl der Knoten im Cluster sehr flexibel.

Warum sollten wir den Bienenstock benutzen?

Neben der Datenanalyse bietet hive eine Vielzahl von Optionen zum Speichern der Daten in HDFS. Hive unterstützt verschiedene Dateisysteme wie eine Einfachdatei oder eine Textdatei, eine Sequenzdatei, die aus binären Schlüssel-Wert-Paaren besteht, sowie RC-Dateien, in denen die Spalte einer Tabelle in einer spaltenbasierten Datenbank gespeichert ist. Heutzutage ist die für Hive am besten geeignete Datei als ORC-Datei oder Optimized Row Columnar-Datei bekannt.

Warum brauchen wir Hive?

In der heutigen Welt ist Hadoop mit den am weitesten verbreiteten Technologien verbunden, die für die Big Data-Verarbeitung verwendet werden. Die sehr umfangreiche Sammlung von Tools und Technologien, die für die Datenanalyse und andere Big Data-Verarbeitung verwendet werden.

Wer ist das richtige Publikum für das Erlernen von Hive-Technologien?

Vor allem Personen mit Hintergrundwissen als Entwickler, Hadoop Analytics, Systemadministratoren, Data Warehousing, SQL Professional und Hadoop Administration beherrschen den Hive.

Wie hilft Ihnen diese Technologie beim beruflichen Aufstieg?

Hive ist heutzutage eine der angesagtesten Fähigkeiten auf dem Markt und eines der besten Tools für die Datenanalyse in der Big-Data-Hadoop-Welt. Große Unternehmen, die Analysen über große Datenmengen durchführen, sind immer auf der Suche nach Fachleuten, die große Datenmengen verwalten und abfragen können. Hive ist eines der besten Tools, die in den letzten Tagen auf dem Markt für Big-Data-Technologien verfügbar waren und einem Unternehmen auf der ganzen Welt bei der Datenanalyse helfen können.

Fazit:

Abgesehen von den oben genannten Funktionen verfügt hive über wesentlich erweiterte Funktionen. Die Fähigkeit von Hive, eine große Anzahl von Datensätzen mit hoher Genauigkeit zu verarbeiten, macht Hive zu einem der besten Tools für die Analyse auf der Big-Data-Plattform. Darüber hinaus besteht aufgrund der regelmäßigen Verbesserungen und der Benutzerfreundlichkeit für den Endbenutzer ein großes Potenzial, sich in den kommenden Tagen zu einem der führenden Big-Data-Analysetools zu entwickeln.

Empfohlene Artikel

Dies war ein Leitfaden für What is Hive. Hier diskutierten wir die Arbeitsweise, Fähigkeiten, das Karrierewachstum und die Vorteile von Hive und Top-Unternehmen, die diese Technologie implementieren. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -

  1. Hive-Befehle
  2. Fragen im Vorstellungsgespräch bei Hive
  3. Was ist Azure?
  4. Was ist Big Data-Technologie?
  5. Bienenstock Architektur | Definition
  6. Verwenden der ORDER BY-Funktion in Hive

Kategorie: