Heim > häufiges Problem > Hauptteil

Welche Leistungen bieten Bienenstockkomponenten?

青灯夜游
Freigeben: 2022-11-18 11:57:00
Original
2500 Leute haben es durchsucht

Die Hive-Komponente kann folgende Dienste bereitstellen: 1. SQL-Anweisungen in Mapreduce-Code konvertieren; 2. Daten können mit HDFS zur Speicherung gespeichert werden; 3. Daten können mit MapReduce berechnet werden. Hive ist ein auf Hadoop basierendes Data Warehouse-Tool, das zum Extrahieren, Transformieren und Laden von Daten verwendet wird. Das Hive Data Warehouse-Tool kann strukturierte Datendateien einer Datenbanktabelle zuordnen und SQL-Abfragefunktionen bereitstellen, mit denen SQL-Anweisungen zur Ausführung in MapReduce-Aufgaben umgewandelt werden können .

Welche Leistungen bieten Bienenstockkomponenten?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Dell G3-Computer.

Beim Aufbau eines Data Warehouse spielt die Hive-Komponente eine sehr wichtige Rolle. Wir wissen, dass Hive ein wichtiges Data Warehouse-Tool auf Basis von Hadoop ist, aber wie man es anwendet, bedarf weiterer Untersuchungen.


Was ist Hive? Hive ist ein auf Hadoop basierendes Data Warehouse-Tool, das zum Extrahieren, Transformieren und Laden von Daten verwendet wird, mit denen große Datenmengen gespeichert, abgefragt und analysiert werden können im Hadoop-Mechanismus gespeichert. Das Hive-Data-Warehouse-Tool kann strukturierte Datendateien einer Datenbanktabelle zuordnen und bietet SQL-Abfragefunktionen, mit denen SQL-Anweisungen zur Ausführung in MapReduce-Aufgaben umgewandelt werden können. Der Vorteil von Hive besteht darin, dass es geringe Lernkosten hat und schnelle MapReduce-Statistiken über SQL-ähnliche Anweisungen implementieren kann, wodurch MapReduce einfacher wird, ohne dass eine spezielle MapReduce-Anwendung entwickelt werden muss. Hive eignet sich sehr gut für die statistische Analyse von Data Warehouses

Wofür wird Hive verwendet? 1. Konvertieren Sie SQL-Anweisungen in Mapreduce-Codes 2. Kann Daten mit HDFS speichern 3. Kann Berechnungen an Daten durchführen Verwenden Sie MapReduce für Berechnungen? Die Rechen-/Erweiterungsfunktionen sind gemeinsam konzipiert (MR als Rechen-Engine, HDFS als Speichersystem). Im Allgemeinen ist es nicht erforderlich, den Dienst neu zu starten, um die Skalierung des Clusters frei zu erweitern.

(3) Bereitstellung einer einheitlichen Metadatenverwaltung

(4) Skalierbarkeit: Hive unterstützt benutzerdefinierte Funktionen, Benutzer können ihre eigenen Funktionen entsprechend ihren eigenen Anforderungen implementieren

(5) Fehlertoleranz: Gute Fehlertoleranz, Knoten Wenn ein Problem auftritt Tritt ein, kann SQL weiterhin ausgeführt werdenb Nachteile von Hive

(1) Die HQL-Ausdrucksfähigkeit von Hive ist begrenzt

1) Iterative Algorithmen können nicht ausgedrückt werden, z Mining wie kmeans

(2) Die Effizienz von Hive ist relativ gering

1) Der von Hive automatisch generierte Mapreduce-Job ist normalerweise nicht intelligent genug

2) Hive-Tuning ist schwierig und die Granularität ist grob

3)Hive ist schlecht kontrollierbar

  • (3)Hive unterstützt keine Dinge. Wird hauptsächlich für OLAP (Online Analytical Processing) verwendet.

  • 1) Die von Hive verarbeiteten Daten werden in HDFS gespeichert Executor läuft auf Yarn Zusammenfassung des oben Gesagten

    : Es entspricht der Rolle eines Clients für Hadoop.
  • Warum Hive verwenden? Hive hat das Aussehen einer SQL-Datenbank, die Anwendungsszenarien sind jedoch völlig unterschiedlich. Hive eignet sich nur für die statistische Analyse von Batch-Daten.

  • (2) Vorteile von Hive
  • Hive verwendet HDFS zum Speichern von Daten und MapReduce zum Abfragen und Analysieren von Daten. Da die direkte Verwendung von Hadoop MapReduce zur Datenverarbeitung mit dem Problem hoher Personallernkosten konfrontiert ist und die Entwicklung komplexer Abfragelogik mit MapReduce zu schwierig ist. Bei Hive verwendet die Betriebsschnittstelle eine SQL-ähnliche Syntax, die nicht nur schnelle Entwicklungsfunktionen bietet, sondern auch das Schreiben von MapReduce vermeidet, wodurch die Lernkosten für Entwickler gesenkt und die Funktionserweiterung bequemer gestaltet werden.

Welches Problem löst Hive?

Welche Leistungen bieten Bienenstockkomponenten?

Hive löst die Abfragefunktion von Big Data, sodass auch Personen, die MR nicht schreiben können, HQL in MR konvertieren können. Das Schreiben von MR ist ineffizient und schmerzhaft. Das Aufkommen von Hive hat den JAVAEE-Brüdern Abkürzungen und gute Nachrichten gebracht. Benutzeroberfläche: Client

CLI (Hive-Shell), JDBC/ODBC (Java-Zugriffs-Hive), WEBUI (Browser-Zugriffs-Hive)

2. Metadaten: Metastore

Metadaten umfassen: Tabellenname, Datenbank, zu der die Tabelle gehört (Standard ist Standard), Tabelleneigentümer, Spalten-/Partitionsfeld, Tabellentyp

(ob es sich um eine externe Tabelle handelt), Verzeichnis, in dem sich die Daten der Tabelle befinden usw .;

Metadatendaten: Metastore

Metadaten umfassen: Tabellenname, Datenbank, zu der die Tabelle gehört (Standard ist Standard), Tabelleneigentümer, Spalten-/Partitionsfeld, Typ der Tabelle

(ob es sich um eine externe Tabelle handelt), Verzeichnis, in dem sich die Daten der Tabelle befinden usw. ;

Standardmäßig werden sie in der integrierten Derby-Datenbank gespeichert. Es wird empfohlen, MySQL zum Speichern von Metastore zu verwenden.

3. Hadoop

verwendet HDFS zur Speicherung und MapReduce zur Berechnung.

4. Treiber: Treiber

(1) Parser (SQL-Parser): Konvertieren Sie die SQL-Zeichenfolge in einen abstrakten Syntaxbaum AST. Dieser Schritt wird im Allgemeinen mit einer Toolbibliothek eines Drittanbieters durchgeführt, z. B. Antlr. Führen Sie eine Syntaxanalyse für AST durch es existiert, ob das Feld existiert, ob die SQL-Semantik falsch ist.

(2) Compiler (Physischer Plan): Kompilieren Sie AST, um einen logischen Ausführungsplan zu generieren.

(3) Optimierer (Abfrageoptimierer): Optimieren Sie den logischen Ausführungsplan.

(4) Ausführung: Konvertieren Sie den logischen Ausführungsplan in einen physischen Plan, der ausgeführt werden kann. Für Hive ist es MR/Spark.

Hive basiert auf Hadoop und alle Hive-Daten werden in HDFS gespeichert. Die Datenbank kann Daten in einem Blockgerät oder einem lokalen Dateisystem speichern.

Da Hive für Data Warehouse-Anwendungen konzipiert ist, erfordert der Inhalt des Data Warehouse mehr Lese- und weniger Schreibaufwand. Daher wird nicht empfohlen, Daten in Hive neu zu schreiben. Alle Daten werden beim Laden ermittelt. Da die Daten in der Datenbank normalerweise häufig geändert werden müssen, können Sie INSERT INTO... VALUES zum Hinzufügen von Daten und UPDATE... SET zum Ändern der Daten verwenden.

Welche Leistungen bieten Bienenstockkomponenten?

Vergleich zwischen Hive und Datenbank

Da Hive eine SQL-ähnliche Abfragesprache HQL (Hive Query Language) verwendet, ist Hive als Datenbank leicht zu verstehen. Tatsächlich haben Hive und Datenbank aus struktureller Sicht nichts gemeinsam, abgesehen davon, dass sie ähnliche Abfragesprachen haben. In diesem Abschnitt werden die Unterschiede zwischen Hive und Datenbanken in vielerlei Hinsicht erläutert. Datenbanken können in Online-Anwendungen verwendet werden, Hive ist jedoch für Data Warehouses konzipiert. Wenn Sie dies wissen, können Sie die Eigenschaften von Hive aus Anwendungsperspektive besser verstehen.

1. Abfragesprache

Da SQL in Data Warehouses weit verbreitet ist, ist die SQL-ähnliche Abfragesprache HQL speziell auf die Eigenschaften von Hive ausgelegt. Entwickler, die mit der SQL-Entwicklung vertraut sind, können Hive problemlos für die Entwicklung verwenden.

2. Datenspeicherort Hive basiert auf Hadoop und alle Hive-Daten werden in HDFS gespeichert. Die Datenbank kann Daten in einem Blockgerät oder einem lokalen Dateisystem speichern.

3. Datenaktualisierung: Da Hive für Data Warehouse-Anwendungen konzipiert ist, erfordert der Inhalt des Data Warehouse mehr Lese- und weniger Schreibaufwand. Daher wird nicht empfohlen, Daten in Hive neu zu schreiben. Alle Daten werden beim Laden ermittelt. Da die Daten in der Datenbank normalerweise häufig geändert werden müssen, können Sie INSERT INTO... VALUES zum Hinzufügen von Daten und UPDATE... SET zum Ändern der Daten verwenden.

4. Index: Hive führt während des Ladevorgangs keine Datenverarbeitung durch und scannt die Daten nicht einmal, sodass einige Schlüssel in den Daten nicht indiziert werden. Wenn Hive auf bestimmte Werte in den Daten zugreifen möchte, die bestimmte Bedingungen erfüllen, muss es einen Brute-Force-Scan der gesamten Daten durchführen, sodass die Zugriffslatenz hoch ist. Durch die Einführung von MapReduce kann Hive parallel auf Daten zugreifen, sodass Hive auch ohne Indizes immer noch Vorteile beim Zugriff auf große Datenmengen aufweisen kann. In einer Datenbank wird normalerweise ein Index für eine oder mehrere Spalten erstellt, sodass die Datenbank eine hohe Effizienz und geringe Latenz beim Zugriff auf eine kleine Datenmenge unter bestimmten Bedingungen aufweisen kann. Aufgrund der hohen Latenz des Datenzugriffs ist Hive nicht für die Online-Datenabfrage geeignet.

5. Ausführung: Die Ausführung der meisten Abfragen in Hive wird über MapReduce von Hadoop implementiert. Die Datenbank verfügt normalerweise über eine eigene Ausführungs-Engine.

6. Ausführungsverzögerung: Wenn Hive Daten abfragt, muss die gesamte Tabelle gescannt werden, da kein Index vorhanden ist, sodass die Verzögerung hoch ist. Ein weiterer Faktor, der zu einer hohen Hive-Ausführungslatenz beiträgt, ist das MapReduce-Framework. Da MapReduce selbst eine hohe Latenz aufweist, kommt es auch zu einer hohen Latenz, wenn MapReduce zum Ausführen von Hive-Abfragen verwendet wird. Im Gegensatz dazu ist die Ausführungslatenz der Datenbank gering. Dieser niedrige Wert ist natürlich an Bedingungen geknüpft, das heißt, wenn der Datenumfang klein genug ist, um die Verarbeitungskapazitäten der Datenbank zu überschreiten, kann das parallele Rechnen von Hive offensichtlich seine Vorteile zeigen.

7. Skalierbarkeit: Da Hive auf Hadoop basiert, stimmt die Skalierbarkeit von Hive mit der Skalierbarkeit von Hadoop überein (der größte Hadoop-Cluster der Welt befindet sich bei Yahoo! mit einer Größe von etwa 4000 Knoten). Aufgrund der strengen Einschränkungen der ACID-Semantik verfügt die Datenbank nur über sehr begrenzte Erweiterungszeilen. Die derzeit fortschrittlichste parallele Datenbank, Oracle, verfügt theoretisch über eine Erweiterungsfähigkeit von nur etwa 100 Einheiten.

8. Datenumfang: Da Hive auf einem Cluster basiert und MapReduce für die parallele Datenverarbeitung verwenden kann, kann es entsprechend große Datenmengen unterstützen.

Weitere Kenntnisse zum Thema Programmierung finden Sie unter: Programmierunterricht! !

Das obige ist der detaillierte Inhalt vonWelche Leistungen bieten Bienenstockkomponenten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage