Apache Hive

Apache Hive

Information
Entwickelt von Mitwirkende
Erste Version 9. November 2011
Letzte Version 3.1.1 (1 st November 2018)
Anzahlung git: //git.apache.org/hive.git und svn.apache.org/repos/asf/hive
Projekt-Status Aktiv
Geschrieben in Java
Betriebssystem Multiplattform
Umgebung Java virtuelle Maschine
Art Relationales Datenbankverwaltungssystem ( in )
Lizenz Apache-Lizenz Version 2.0
Webseite hive.apache.org

Apache Hive ist eine in Hadoop integrierte Data Warehouse- Infrastruktur , die Analyse, Abfrage über eine Sprache ermöglicht, die syntaktisch nahe an SQL liegt, sowie Datensynthese. Obwohl Apache Hive ursprünglich von Facebook entwickelt wurde , wird es jetzt von anderen Unternehmen wie Netflix verwendet und entwickelt . Amazon unterhält eine Abzweigung von Apache Hive, die Amazon Elastic MapReduce in Amazon Web Services enthält .

Funktionalität

Apache Hive unterstützt das Scannen großer Datenmengen, die in Hadoop HDFS oder kompatiblen Dateisystemen wie Amazon S3 gespeichert sind . Es bietet eine SQL- ähnliche Sprache namens HiveQL mit einem Schema beim Lesen und konvertiert Anforderungen transparent in Map / Reduce- , Apache Tez- und Spark- Jobs . Alle drei Ausführungs-Engines können auf Hadoop YARN ausgeführt werden. Um Abfragen zu beschleunigen, werden Indizes bereitgestellt, einschließlich Bitmap-Indizes.

Standardmäßig speichert Hive Metadaten in einer eingebetteten Apache Derby-Datenbank, und andere Client / Server-Datenbanken wie MySQL können optional verwendet werden.

Derzeit werden von Hive vier Dateiformate unterstützt: TEXTFILE, SEQUENCEFILE, ORC und RCFile . Apache Parquet- Dateien können über Plugins in Versionen nach 0.10 und nativ ab 0.13 gelesen werden.

Weitere Funktionen von Hive:

Die Architektur

Hive besteht aus folgenden Elementen:

HiveQL

Obwohl SQL-basiert, folgt HiveQL nicht genau dem SQL-Standard. HiveQL bietet Nicht-SQL-Erweiterungen, z. B. Einfügungen mit mehreren Tabellen, und nur ein grundlegendes Angebot für die Indizierung. Außerdem fehlt HiveQL die Unterstützung für Transaktionen und materialisierte Ansichten sowie nur eine begrenzte Unterstützung für Unterabfragen. Die Unterstützung für das Einfügen, Aktualisieren und Löschen mit voller ACID-Funktionalität wurde mit der Version 0.14 verfügbar gemacht.

Intern übersetzt der Compiler HiveQL-Anweisungen in einen azyklisch gerichteten Graphen von MapReduce oder Tez oder Spark- Job , die dann zur Ausführung an Hadoop gesendet werden.

Anmerkungen und Referenzen

(fr) Dieser Artikel ist teilweise oder vollständig aus dem Wikipedia - Artikel in genommen englischen Titeln „  Apache Hive  “ ( siehe die Liste der Autoren ) .
  1. "  https://projects.apache.org/json/projects/hive.json  " (Zugriff am 8. April 2020 )
  2. "  http://hive.apache.org/downloads.html  "
  3. Venner, Jason (2009).
  4. Anwendungsfallstudie von Hive / Hadoop .
  5. OSCON Data 2011, Adrian Cockcroft, "Datenfluss bei Netflix" auf YouTube .
  6. Amazon Elastic MapReduce-Entwicklerhandbuch .
  7. HiveQL-Sprachhandbuch .
  8. Apache Tez .
  9. Arbeiten Sie mit Schülern zusammen, um die Indizierung in Apache Hive zu verbessern .
  10. Lam, Chuck (2010).
  11. Optimieren von Hadoop und Big Data mit Text und HiveOptimieren von Hadoop und Big Data mit Text und Hive .
  12. LanguageManual ORC .
  13. Schnellere Big Data auf Hadoop mit Hive und RCFile .
  14. Facebooks Petabyte Scale Data Warehouse mit Hive und Hadoop .
  15. Yongqiang He, Rubao Lee, Yin Huai, Zheng Shao, Namit Jain, Xiaodong Zhang und Zhiwei Xu. "RCFile: Eine schnelle und platzsparende Datenplatzierungsstruktur in MapReduce-basierten Lagersystemen" (PDF).
  16. "Parkett" . 18. Dezember 2014.
  17. Massie, Matt (21. August 2013).
  18. Weiß, Tom (2010).
  19. Hive Language Manual .
  20. SÄURE und Transaktionen im Bienenstock .
  21. Hive Eine Warehousing-Lösung über ein MapReduce-Framework .

Anhänge

Siehe auch

Externe Links