Unterschied zwischen Hive und Impala

Hive ist ein Data Warehouse-Softwareprojekt, das auf APACHE HADOOP aufbaut und von Jeffs Team bei Facebook mit einer aktuellen stabilen Version von 2.3.0 entwickelt wurde. Es wird zum Zusammenfassen von Big Data verwendet und erleichtert das Abfragen und Analysieren. Apache Hive ist ein wirksamer Standard für SQL-in-Hadoop. Impala ist eine parallel verarbeitende SQL-Abfrage-Engine, die unter Apache Hadoop ausgeführt wird und zur Verarbeitung der in HBase (Hadoop Database) und Hadoop Distributed File System gespeicherten Daten verwendet wird. Impala ist ein Open-Source-Produkt für die parallele Verarbeitung (MPP) von SQL-Abfragen für Daten, die in einem lokalen Systemcluster auf Apache Hadoop gespeichert sind. Apache Hive und Impala sind wichtige Bestandteile des Hadoop-Systems.

Schauen wir uns also Hive und Impala im Detail an:

BIENENSTOCK

  • Apache Hive hilft bei der Analyse des riesigen Datensatzes, der im Hadoop-Dateisystem (HDFS) und anderen kompatiblen Dateisystemen gespeichert ist.
  • Hive QL - Zum Abfragen von in Hadoop Cluster gespeicherten Daten.
  • Nutzt die Skalierbarkeit von Hadoop durch Übersetzung .
  • Hive ist KEINE vollständige Datenbank .
  • Es werden keine Aktualisierungen auf Datensatzebene bereitgestellt .
  • Hadoop ist ein chargenorientiertes System .
  • Hive-Abfragen weisen aufgrund von MapReduce eine hohe Latenz auf .
  • Hive bietet keine Features , die OLAP nahe stehen .
  • Bestens geeignet für Data Warehouse-Anwendungen .
  • Abfrageausführung über MapReduce .
  • Die Abfragesprache kann mit benutzerdefinierten Skalarfunktionen (UDFs), Aggregationen (UDAFs) und Tabellenfunktionen (UDTFs) verwendet werden .
  • Hive bietet auch eine Indizierung zur Beschleunigung des Indextyps einschließlich Komprimierung und Bitmap-Index ab 0, 10. Weitere Indextypen sind geplant.
  • Von Hive unterstützte Speichertypen sind RCfile, HBase, ORC und Nur-Text .
  • SQL-ähnliche Abfragen (Hive QL), die implizit in MapReduce- oder Tez- oder Spark-Jobs konvertiert werden .
  • Standardmäßig speichert Hive Metadaten in einer eingebetteten Apache Derby-Datenbank .

IMPALA

  • Impala ist eine Abfrage-Engine, die unter Hadoop ausgeführt wird . Die Veröffentlichung des öffentlichen Betatests wurde im Oktober 2012 angekündigt und war ab Mai 2013 allgemein verfügbar.
  • Es unterstützt HDFS Apache HBase-Speicher und Amazon S3 .
  • Liest Hadoop-Dateiformate, einschließlich Text-, Parkett-, Avro-, RCFile-, LZO- und Sequenzdateien .
  • Unterstützt Hadoop Security (Kerberos-Authentifizierung) .
  • Verwendet Metadaten, ODBC-Treiber und SQL-Syntax von Apache Hive .
  • Es unterstützt mehrere Komprimierungscodecs:

(a) Bissig (Empfohlen für das effektive Gleichgewicht zwischen Kompressionsverhältnis und Dekompressionsgeschwindigkeit),

(b) Gzip (empfohlen, wenn die höchste Komprimierungsstufe erreicht wird),

(c) Deflate (nicht unterstützt für Textdateien), Bzip2, LZO (nur für Textdateien);

  • Sie können damit verschachtelte Strukturen abfragen , einschließlich Maps, Strukturen und Arrays.
  • Es ermöglicht gleichzeitige Mehrbenutzerabfragen und die Zugangssteuerung auf der Grundlage der Priorisierung und der Einreihung von Abfragen.

Head-to-Head-Vergleiche zwischen Hive und Impala (Infografiken)

Unten ist die Top 20 Vergleich zwischen Hive vs Impala

Hauptunterschied zwischen Hive und Impala

Die Unterschiede zwischen Hive und Impala werden in den folgenden Punkten erläutert:

  • Hive wird von Jeffs Team bei Facebook entwickelt, Impala jedoch von der Apache Software Foundation .
  • Hive unterstützt das Dateiformat Optimized Row Columnar (ORC) mit Zlib-Komprimierung, aber Impala unterstützt das Parkettformat mit schneller Komprimierung .
  • Hive ist in Java geschrieben, Impala jedoch in C ++.
  • Die Verarbeitungsgeschwindigkeit von Abfragen in Hive ist langsam, aber Impala ist 6-69-mal schneller als Hive .
  • In Hive ist die Latenzzeit hoch, in Impala jedoch niedrig .
  • Hive unterstützt die Speicherung von RC-Dateien und ORC, Impala- Speicher unterstützt jedoch Hadoop und Apache HBase .
  • Hive generiert einen Abfrageausdruck zur Kompilierungszeit, aber bei der Codegenerierung von Impala für '' große Schleifen '' erfolgt dies zur Laufzeit .
  • Hive unterstützt keine parallele Verarbeitung, aber Impala unterstützt die parallele Verarbeitung.
  • Hive unterstützt MapReduce, aber Impala unterstützt MapReduce nicht .
  • In Hive gibt es keine Sicherheitsfunktion, aber Impala unterstützt die Kerberos-Authentifizierung .
  • Bei einem Upgrade eines Projekts, bei dem sowohl Kompatibilität als auch Geschwindigkeit wichtig sind, ist Hive die ideale Wahl . Für ein neues Projekt ist Impala jedoch die ideale Wahl .
  • Hive ist fehlertolerant, aber Impala unterstützt keine Fehlertoleranz .
  • Hive unterstützt komplexe Typen, aber Impala unterstützt keine komplexen Typen .
  • Hive ist eine stapelbasierte Hadoop MapReduce- Datenbank, Impala jedoch eine MPP-Datenbank .
  • Hive unterstützt kein interaktives Computing, aber Impala unterstützt interaktives Computing .
  • Bei der Hive-Abfrage tritt das Problem des Kaltstarts auf, aber der Impala-Daemon-Prozess wird beim Start selbst gestartet .
  • Der Hive-Ressourcenmanager ist YARN (Yet Another Resource Negotiator), der Impala-Ressourcenmanager ist jedoch native * YARN .
  • Hive- Distributionen sind alle Hadoop-Distributionen, Hortonworks (Tez, LLAP), aber in Impala-Distributionen Cloudera MapR (* Amazon EMR) .
  • Die Zielgruppe sind Dateningenieure, in Impala jedoch Datenanalysten / Datenwissenschaftler.
  • Der Hive- Durchsatz ist hoch, aber in Impala ist der Durchsatz niedrig .

Hive vs Impala Vergleichstabelle

Seriennummer.VergleichsbasisBienenstockImpala
1.Entwickelt vonFacebookApache Software
Stiftung
2.Datei Format
  • Sequenzdatei.
  • Textdatei.
  • Optimiertes ORC-Format (Row Columnar) mit Zlib-Komprimierung.
  • RC-Dateiformat.
  • Parkettformat mit bissiger Kompression.
  • Avro
  • LZO
  • Sequenzdatei.
3.SpracheGeschrieben in JavaGeschrieben in C ++
4.VerarbeitungsgeschwindigkeitHive ist langsamImpala ist schnell
5.LatenzHochNiedrig
6.SpeicherunterstützungRC-Datei, ORCHadoop, Apache HBase
7.Code-KonvertierungErzeugt einen Abfrageausdruck zur KompilierungszeitDie Codegenerierung erfolgt zur Laufzeit.
8.Unterstützt ParallelverarbeitungNeinJa
9.MapReduce-UnterstützungJaNein
10.Hadoop-SicherheitNeinUnterstützt die Kerberos-Authentifizierung.
11.VerwendungIdeal für die ProjektaktualisierungIdeal zum Starten eines neuen Projekts.
12.FehlertoleranzHive ist fehlertolerant.Unterstützt keine Fehlertoleranz.
13.Komplexe TypenHive unterstützt komplexe Typen.Impala unterstützt keine komplexen Typen.
14.DatenbanktypHive ist ein Batch-basiertes Hadoop MapReduce.Es ist MPP-Datenbank
15.Interaktives RechnenUnterstützt kein interaktives Computing.Unterstützt interaktives Computing.
16.AusführungHive-Abfrage hat ein Problem mit "Kaltstart"Der Impala-Prozess startet immer zur Boot-Zeit von Daemons.
17.ResourcenmanagementGARNEingeborener * YARN
18.VerteilungenHIVE - alle Hadoop-Distributionen, Hortonworks (Tez, LLAP)Cloudera MapR,
(* Amazon EMR)
19.PublikumDateningenieureDatenanalyst / Datenwissenschaftler
20.DurchsatzHoher DurchsatzNiedriger Durchsatz

Fazit - Hive vs Impala

In diesem Artikel haben wir versucht zu zeigen, dass es sich bei den beiden Technologien Hive und Impala um den grundlegenden Unterschied zwischen diesen Technologien handelt. In der Praxis können wir sagen, dass Hive und Impala nicht die Konkurrenten sind, denen beide zur gleichen Grundlage gehören, die als MapReduce für die Ausführung der Abfragen bezeichnet wird. Die Verwendung von beiden kann den Unterschied ausmachen. Je nach Bedarf können wir es zusammen oder am besten je nach Kompatibilität, Bedarf und Leistung verwenden. Die Hive-Abfragesprache ist Hive QL, eine sehr vielseitige und universelle Sprache, während Impala speicherintensiv ist und sich nicht gut für die Verarbeitung umfangreicher Datenoperationen eignet, beispielsweise für Join-Abfragen. Wenn in Ihrem Projekt die Arbeit mit der Stapelverarbeitung einer großen Datenmenge zusammenhängt, ist die Struktur in diesem Fall besser, und wenn Ihre Arbeit mit dem Echtzeitprozess einer Ad-hoc-Abfrage von Daten zusammenhängt, ist Impala in besser dieser Fall.

Empfohlener Artikel

Dies war ein Leitfaden für Hive Vs Impala, deren Bedeutung, Kopf-an-Kopf-Vergleich, Hauptunterschiede, Vergleichstabelle und Schlussfolgerung. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Apache Hive gegen Apache Spark SQL - 13 erstaunliche Unterschiede
  2. Hive VS HUE - Top 6 nützliche Vergleiche zu lernen
  3. Apache Pig vs Apache Hive - Top 12 nützliche Unterschiede
  4. Hadoop vs Hive - Finde die besten Unterschiede heraus
  5. Verwenden der ORDER BY-Funktion in Hive

Kategorie: