Definition

Was ist Hive?

| Autor / Redakteur: Stefan Luber / Nico Litzel

(Bild: © aga7ta - stock.adobe.com)

Apache Hive erweitert das Big Data Framework Hadoop um die Funktionalität eines Data-Warehouse-Systems. Es ermöglicht das performante Abfragen, Zusammenfassen und Analysieren von unstrukturierten Daten mithilfe einer auf SQL basierenden Datenbanksprache.

Bei Apache Hive handelt es sich um eine Erweiterung für Hadoop, die es gestattet, unstrukturiert vorliegende Daten mit der SQL-ähnlichen Datenbanksprache HiveQL abzufragen, zusammenzufassen und zu analysieren. Hive erweitert quasi Hadoop um ein Open-Source-Data-Warehouse-System. Entwickler und Anwender greifen dank Hive auf eine SQL:1999-ähnliche Syntax für ihre Anwendungen oder Programme zu. Die Daten können in unterschiedlichster Form in verschiedenen Datenbanken von Hadoop gespeichert sein. Die HiveQL-Abfragen werden in das für das Datenbanksystem benötigte Format übersetzt beispielsweise in MapReduce-Jobs. Damit bietet Hive zusätzliche Kompatibilität für SQL-basierte Anwendungen im Hadoop-Umfeld.

Da SQL-Kenntnisse weit verbreitet sind, ist es auch Nichtspezialisten möglich, mit Hive und Hadoop zu arbeiten. Im Big-Data- und Hadoop-Umfeld hat sich HiveQL zu einer Art Standard für das Arbeiten mit großen Datenmengen entwickelt. Es werden Standard-Operationen wie Filter, Joins oder Aggregationen zur Verfügung gestellt, die nicht individuell zu entwickeln sind. Hive arbeitet nicht wie relationale Datenbanken mit dem Schema-on-Write-Ansatz (SoW), sondern verwendet den so genannten Schema-on-Read-Ansatz (SoR). Dabei werden die Daten weiterhin unverändert in Hadoop gespeichert und erst bei einer Anfrage gegen ein bestimmtes Schema geprüft. Es ergibt sich dadurch der Vorteil, dass ein wesentlich schnelleres Laden von Daten möglich wird. Zudem lassen sich unterschiedliche Schemata auf den gleichen Datenbestand anwenden.

Die wichtigsten Funktionen von Hive

Hive stellt zahlreiche Funktionen bereit. Es unterstützt die Analyse von großen in Hadoop-Formaten und -Filesystemen gespeicherten Datenmengen. Zudem bietet es eine SQL-ähnliche Abfragesprache, die Kommandos beispielsweise in MapReduce, Apache Tez oder Spark-Jobs übersetzt. Um die Abfragegeschwindigkeit zu steigern, stellt Apache Hive geeignete Indices zur Verfügung. Weitere Funktionen von Apache Hive sind:

  • Die Bereitstellung unterschiedlicher Speichertypen wie Text, HBase, RCFile oder weitere,
  • das Speichern von Metadaten in einem relationalen Datenbankmanagementsystem,
  • das Arbeiten mit im Hadoop-System komprimiert vorliegenden Daten sowie
  • die Bereitstellung von UDFs (User Defined Functions) für umfangreiche Funktionen der Datenmanipulation und des Data-Minings.

Die wichtigsten Komponenten

Die wichtigsten Komponenten der Hive-Architektur sind:

  • Der Metastore,
  • der Driver, bestehend aus Compiler, Optimizer und Executor,
  • das Command Line und User Interface (CLI und UI) und
  • der Thrift Server.

Eine Art Zentrale in der Hive-Architektur stellt der Driver bestehend aus Compiler, Optimizer und Executor dar. Er agiert wie ein zentraler Controller, der auf der einen Seite HiveQL-Kommandos entgegennimmt und die Ausführung in Richtung Hadoop-System verantwortet. Der Compiler übersetzt die HiveQL-Abfragen in die abstrakte Syntax und ausführbare Tasks. Diese werden durch den Optimizer gegebenenfalls aggregiert oder gesplittet und optimiert.

Ziel des Optimizers ist es, für eine bessere Performance und Skalierbarkeit zu sorgen. Nach dem Kompilieren und Optimieren übernimmt der Executor die Tasks. Er interagiert mit dem Job-Tracker von Hadoop und übergibt sie dem System zur Ausführung. Dabei beachtet er eventuell bestehende Abhängigkeiten zwischen den verschiedenen Tasks. Der Driver fungiert zudem als Sammelpunkt für die nach der Ausführung erhaltenen Daten.

Die Aufgabe des Metastores besteht darin, Metadaten für die verschiedenen Tabellen zu speichern. Dazu zählen auch die Partitions-Metadaten, die dem Driver helfen, Aufgaben zu überwachen, die sich auf verschiedene Data-Sets eines Clusters verteilen. Der Metastore nutzt hierfür das klassische Format relationaler Datenbankmanagementsysteme. Da die im Metastore abgelegten Daten für das komplette System sehr wichtig sind, erfolgen in regelmäßigen Abständen Replikationen durch einen Backup-Server.

Das Command Line und User Interface (CLI und UI) stellt die Schnittstelle für die externen Anwender bereit. Über den Thrift Server ist es den externen Clients möglich, per Netzwerk mit Hive zu kommunizieren und zu interagieren. Es kommen hierfür JDBC- (Java Database Connectivity) und ODBC-ähnliche (Open Database Connectivity) Protokolle zum Einsatz.

HiveQL – die SQL-ähnliche Datenbanksprache von Hive

HiveQL basiert zwar auf SQL, ist aber nicht vollständig konform zu Standards wie SQL-92. Es kann als eine Art SQL-Dialekt verstanden werden und ist dem MySQL-Dialekt in bestimmten Zusammenhängen ähnlich. Allerdings existieren einige grundlegende Unterschiede und Abweichungen. Zahlreiche Funktionen werden nicht unterstützt, dafür sind viele Erweiterungen integriert, die für eine höhere Performance im Hadoop-Umfeld oder für eine bessere Erweiterbarkeit sorgen. Zu den Erweiterungen zählen zum Beispiel Multitable Inserts. In HiveQL fehlen Funktionen für Transaktionen. Subqueries werden nur bedingt unterstützt.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Wie die Cloud hilft, den Bierabsatz zu optimieren

Data Lake in Azure-Cloud beschleunigt Entscheidungsfindung bei AB InBev

Wie die Cloud hilft, den Bierabsatz zu optimieren

Bei der Brauereigruppe AB InBev verbrachten einzelne Mitarbeiter früher bis zu 80 Prozent ihrer Zeit damit, relevante Daten zu identifizieren und aufzubereiten. Über eine zentrale Cloud-Lösung werden heute Daten schneller bereitgestellt, sodass Mitarbeiter mehr Zeit für die Analyse und die strategische Entscheidungsfindung haben. lesen

Mit Apache Zeppelin Daten analysieren

Interaktives Notizbuch für Big Data

Mit Apache Zeppelin Daten analysieren

Das Apache-Toplevel-Projekt Zeppelin bietet ein Notizbuch für Daten aus anderen Systemen, mit denen Anwender diese effektiv analysieren können. Zeppelin arbeitet dazu eng mit Spark, Flink und Hadoop zusammen. lesen

Objekte für die Zettabyte-Ära

Womit sich Start-ups heute beschäftigen – MinIO

Objekte für die Zettabyte-Ära

MinIO ist nach Angaben des gleichnamigen Herstellers „ein hochleistungsfähiger, verteilter Objektspeicher-Server für datenintensive Anwendungen wie Deep und Machine Learning, Künstliche Intelligenz und Big Data“. Erstellt wurde das Open-Source-Programm (unter der Apache-Lizenz 2.0) mit der Programmiersprache Go. lesen

Cloudera und Hortonworks vereinigen ihre Datenplattformen

Nachbericht DataWorks Summit Barcelona

Cloudera und Hortonworks vereinigen ihre Datenplattformen

Auf der diesjährigen DataWorks-Konferenz in Barcelona traten Cloudera und Hortonworks erstmals gemeinsam auf. Im Januar 2019 hatten beide auf Data Science und Big Data spezialisierten Anbieter ihren Zusammenschluss vollzogen. Als ein Ergebnis wird demnächst die neue Enterprise Data Cloud eingeführt, die vollständig auf Open Source basiert. lesen

Der Data Lake integriert sich

Data Lakes

Der Data Lake integriert sich

Data Lake oder Data Warehouse? So schien lange Zeit die Alternative für Unternehmen zu lauten. Doch wie so oft gibt es in der betrieblichen IT kein Entweder-oder, sondern beide Infrastrukturen tauchen zunehmend gemeinsam auf. lesen

Tibco startet Data Virtualization 8

Über AWS erhältlich

Tibco startet Data Virtualization 8

Im Rahmen der AWS re:Invent 2018 hat Tibco die allgemeine Verfügbarkeit von Data Virtualization 8 bekanntgegeben. Die neue Software soll störende Datenengpässe beseitigen und nutzt dazu eine agile, ultraschnelle virtualisierte Datenschicht. lesen

Die wichtigsten Big-Data-Technologien

Überblick

Die wichtigsten Big-Data-Technologien

Big-Data-Anwendungen basieren nicht auf einer einzigen Technologie, sondern sind im Grunde ein Zusammenspiel verschiedener Innovationen. Dafür reichen jedoch herkömmliche Technologien wie zum Beispiel klassische Datenbanken, Data Warehouse- oder Reporting-Lösungen bei weitem nicht aus. lesen

Hortonworks stellt Streams Messaging Manager vor

Für Kafka-Umgebungen

Hortonworks stellt Streams Messaging Manager vor

Parallel zur Veröffentlichung eines Updates für „Dataflow“ hat Hortonworks den „Streams Messaging Manager“ präsentiert. Die Monitoring-Plattform soll „Kafka“-Nutzern die Arbeit erleichtern. lesen

Mehr Security, schnellere Analyse und günstige TCO

MapR 6.1 soll Big Data unternehmenstauglicher machen

Mehr Security, schnellere Analyse und günstige TCO

Ein neues „Major Release“ seiner Datenplattform MapR hat der gleichnamige Softwareanbieter aus Santa Clara, Kalifornien, für den kommenden Herbst in Aussicht gestellt: MapR 6.1 ist unter anderem dafür ausgelegt, die Datenanalyse für KI-Anwendungen zu beschleunigen und die Betriebskosten zu senken. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44956849 / Definitionen)