Was ist Apache Hive?

Apache Hive ist ein verteiltes, fehlertolerantes Data-Warehouse-System, das Analytik in großem Maßstab ermöglicht. Ein Data Warehouse bietet einen zentralen Speicher für Informationen, die leicht analysiert werden können, um fundierte, datengestützte Entscheidungen zu treffen. Hive ermöglicht es Benutzern, Petabytes an Daten mit SQL zu lesen, zu schreiben und zu verwalten.

Hive basiert auf Apache Hadoop, einem Open-Source-Framework, mit dem große Datensätze effizient gespeichert und verarbeitet werden können. Daher ist Hive eng in Hadoop integriert und so konzipiert, dass es schnell mit Petabyte an Daten arbeitet. Was Hive einzigartig macht, ist die Fähigkeit, große Datensätze mithilfe von Apache Tez oder MapReduce mit einer SQL-ähnlichen Benutzeroberfläche abzufragen.

Wie funktioniert Hive?

Hive wurde entwickelt, um Nicht-Programmierern, die mit SQL vertraut sind, die Arbeit mit Petabyte an Daten zu ermöglichen, indem sie eine SQL-ähnliche Benutzeroberfläche namens HiveQL verwenden. Herkömmliche relationale Datenbanken sind für interaktive Abfragen kleiner bis mittlerer Datensätze konzipiert und verarbeiten große Datensätze nicht gut. Hive verwendet stattdessen die Batch-Verarbeitung, sodass es in einer sehr großen verteilten Datenbank schnell funktioniert. Hive wandelt HiveQL-Abfragen in MapReduce- oder Tez-Aufträge um, die auf dem Framework für verteilte Auftragsplanung von Apache Hadoop, Yet Another Resource Negotiator (YARN) ausgeführt werden. Es fragt Daten ab, die in einer verteilten Speicherlösung wie dem Hadoop Distributed File System (HDFS) oder Amazon S3 gespeichert sind. Hive speichert seine Datenbank- und Tabellenmetadaten in einem Metastore, einem datenbank- oder dateigestützten Speicher, der eine einfache Datenabstraktion und -erkennung ermöglicht.

Hive beinhaltet HCatalog, eine Tabellen- und Speicherverwaltungsebene, die Daten aus dem Hive-Metastore liest, um eine nahtlose Integration zwischen Hive, Apache Pig und MapReduce zu ermöglichen. Durch die Verwendung des Metastores ermöglicht HCatalog Pig und MapReduce, dieselben Datenstrukturen wie Hive zu verwenden, sodass die Metadaten nicht für jede Engine neu definiert werden müssen. Benutzerdefinierte Anwendungen oder Integrationen von Drittanbietern können WebHCat verwenden, eine RESTful-API für HCatalog, um auf Hive-Metadaten zuzugreifen und diese wiederzuverwenden.

Welche Vorteile bietet Hive?

Schnell

Hive wurde entwickelt, um Petabyte an Daten mithilfe der Batch-Verarbeitung schnell zu verarbeiten.

Vertraut

Hive bietet eine vertraute, SQL-ähnliche Oberfläche, auf die auch Nicht-Programmierer zugreifen können.

Skalierbar

Hive lässt sich einfach verteilen und an Ihre Bedürfnisse anpassen.

Was sind die Unterschiede zwischen Apache Hive und Apache HBase?

Apache HBase ist eine verteilte NoSQL-Datenbank, die zufälligen, strikt konsistenten Echtzeitzugriff auf Petabyte an Daten ermöglicht. Apache Hive ist ein verteiltes Data-Warehouse-System, das SQL-ähnliche Abfragefunktionen bietet.

Merkmale

Apache Hive

Apache HBase

Funktion

Eine SQL-ähnliche Abfrage-Engine, die für Datenspeicher mit hohem Volumen entwickelt wurde. Es werden mehrere Dateiformate unterstützt.

Verteilter Schlüsselwertspeicher mit niedriger Latenz und benutzerdefinierten Abfragefunktionen. Daten werden in einem spaltenorientierten Format gespeichert.

Verarbeitungstyp

Batch-Verarbeitung mit Apache Tez- oder MapReduce-Computing-Frameworks.

Verarbeitung in Echtzeit.

Latenz

Mittel bis hoch, abhängig von der Reaktionsfähigkeit der Datenverarbeitungs-Engine. Das verteilte Ausführungsmodell bietet im Vergleich zu monolithischen Abfragesystemen wie RDBMS eine überlegene Leistung für dieselben Datenmengen.

Niedrig, aber sie kann inkonsistent sein. Strukturelle Einschränkungen der HBase-Architektur können bei intensiver Schreiblast zu Latenzspitzen führen.

Hadoop-Integration

Wird in Hadoop, mit Apache Tez oder MapReduce für die Verarbeitung und HDFS oder Amazon S3 für die Speicherung ausgeführt.

Wird in HDFS oder Amazon S3 ausgeführt.

SQL-Unterstützung

Bietet SQL-ähnliche Abfragefunktionen mit HiveQL.

Keine eigenständige SQL-Unterstützung. Sie können Apache Phoenix für SQL-Funktionen verwenden.

Schema

Definiertes Schema für alle Tabellen.

Schemafrei.

Datentypen

Unterstützt strukturierte und unstrukturierte Daten. Bietet native Unterstützung für gängige SQL-Datentypen wie INT, FLOAT und VARCHAR.

Unterstützt nur unstrukturierte Daten. Der Benutzer definiert Zuordnungen von Datenfeldern zu Java-unterstützten Datentypen.

Was sind Anwendungsfälle für Hive?

Guardian bietet 27 Millionen Mitgliedern die Sicherheit, die sie verdienen, durch Versicherungs- und Vermögensverwaltungsprodukte und -dienstleistungen. Guardian verwendet Amazon EMR, um Apache Hive in einem S3 Data Lake auszuführen. Apache Hive wird für die Batch-Verarbeitung verwendet. Der S3 Data Lake treibt Guardian Direct an, eine digitale Plattform, die es Verbrauchern ermöglicht, sowohl Guardian-Produkte als auch Produkte von Drittanbietern im Versicherungssektor zu recherchieren und zu kaufen.

FINRA – die Regulierungsbehörde im Finanzsektor – ist die größte unabhängige Regulierungsbehörde in den USA und überwacht sowie reguliert die Praktiken des Finanzmarkts. FINRA verwendet Amazon EMR, um Apache Hive in einem S3 Data Lake auszuführen. Durch den Betrieb von Hive in den EMR-Clustern kann FINRA Handelsdaten von bis zu 90 Milliarden Ereignissen mithilfe von SQL verarbeiten und analysieren. Der Cloud Data Lake führte im Vergleich zur On-Premises-Lösung von FINRA zu Kosteneinsparungen von bis zu 20 Millionen US-Dollar und reduzierte den Zeitaufwand für Wiederherstellung und Upgrades drastisch.

Vanguard, ein in den USA registrierter Anlageberater, ist der größte Anbieter von Investmentfonds und der zweitgrößte Anbieter von börsengehandelten Fonds (ETF). Vanguard verwendet Amazon EMR, um Apache Hive in einem S3 Data Lake auszuführen. Daten werden in S3 gespeichert und EMR erstellt einen Hive-Metastore auf diesen Daten. Der Hive-Metastore enthält alle Metadaten zu den Daten und Tabellen im EMR-Cluster, was eine einfache Datenanalyse ermöglicht. Hive ermöglicht es Analysten auch, Ad-hoc-SQL-Abfragen für Daten durchzuführen, die im S3 Data Lake gespeichert sind. Durch die Migration zu einem S3 Data Lake mit Amazon EMR konnten über 150 Datenanalysten betriebliche Effizienz erzielen und die EC2- und EMR-Kosten um 600 000 USD gesenkt werden.

Wie kann AWS Hive unterstützen?

Amazon EMR bietet das einfachste, schnellste und kostengünstigste verwaltete Hadoop-Framework, mit dem Kunden riesige Datenmengen über dynamisch skalierbare EC2-Instances verarbeiten können. Kunden können auch andere beliebte verteilte Frameworks wie Apache Hive, Spark, HBase, Presto und Flink in EMR ausführen. 

Weitere Informationen zu Amazon EMR

Beginnen Sie mit Apache Hive in AWS, indem Sie noch heute ein kostenloses AWS-Konto erstellen.

Nächste Schritte in AWS

Ein kostenloses Konto erstellen

Sie erhalten sofort Zugriff auf das kostenlose Kontingent von AWS.

Registrieren 
Mit der Entwicklung in der Konsole starten

Starten Sie mit der Entwicklung in der AWS-Managementkonsole.

Anmelden