FAQ Big Data

Hadoop - der kleine Elefant für die großen Daten

25.03.2013
Von 
Martin Bayer ist Chefredakteur von COMPUTERWOCHE, CIO und CSO. Spezialgebiet Business-Software: Business Intelligence, Big Data, CRM, ECM und ERP.

Woraus besteht Hadoop?

Rund um das Hadoop-Framework gibt es eine Reihe verschiedener Projekte, die unter dem Dach der Apache Software Foundation vorangetrieben werden. Hadoop selbst setzt sich aus folgenden drei Komponenten zusammen:

  1. "Hadoop Common" bietet ein Toolset aus Grundfunktionen, das alle anderen Bausteine benötigen. Über eine Schnittstelle werden beispielsweise die Zugriffe auf die darunterliegenden File-Systeme gesteuert. Das Paket enthält auch die notwendigen Java-Archiv-(JAR-)Files und -Scripts, um Hadoop starten zu können. Ferner bietet Hadoop Common eine Schnittstelle für die Remote-Procedure-Call-(RPC-)Kommunikation innerhalb des Clusters sowie Bibliotheken für die Serialisierung von Daten. Außerdem finden Anwender hier den Sourcecode, die Dokumentation sowie Informationen, welche weiteren Unterprojekte für Hadoop verfügbar sind.

  2. "Das "Hadoop Distributed File System" (HDFS) stellt ein hochverfügbares und leistungsfähiges Dateisystem dar, mit dessen Hilfe Anwender große Datenmengen speichern können sollen. Das System unterstützt nach Angaben der Entwickler Systeme mit mehreren 100 Millionen Dateien.

  3. Hadoop enthält darüber hinaus eine Implementierung des von Google entwickelten MapReduce-Algorithmus. MapReduce bildet im Rahmen von Hadoop eine Art Software-Unter-Framework beziehungsweise Engine, die verschiedene Funktionen bereitstellt. Grundidee von Map-Reduce ist, Rechenaufgaben in kleine Teile zu zerlegen, auf eine Vielzahl von Rechnern zu verteilen (Map), dort extrem parallelisiert abzuarbeiten und die Ergebnisse wieder zusammenzuführen (Reduce).

Weitere Projekte bringen mehr Funktionen für Hadoop

Rund um Hadoop gibt es eine Reihe verschiedener Apache-Projekte, die verschiedene Zusatzfunktionen entwickeln und anbieten. Hier eine Auswahl:

  • Avro hilft Anwendern, Daten zu strukturieren und sicher in Containern abzulegen.

  • Cassandra ist eine verteilte NoSQL-Datenbank, die eine hohe Skalierbarkeit und Verfügbarkeit bieten soll. Die Software wurde von Facebook entwickelt und später an die Apache Software Foundation übergeben.

  • Chukwa sammelt Daten und erlaubt Anwendern das Monitoring großer verteilter Systeme.

  • HBase ist eine hochskalierbare verteilte Datenbank für das Handling umfangreicher Tabellen, mit denen sich große Mengen strukturierter Daten verwalten lassen sollen.

  • Hive ist ein Data Warehouse für Hadoop, das über eine SQL-ähnliche Syntax (HiveQL) Abfragen und Analysen ermöglicht.

  • Mahout bietet Anwendern verschiedene Algorithmen für das Data Mining in großen Datenbanken. Dabei lassen sich auch unstrukturierte Daten auswerten.

  • Pig stellt eine Plattform für die Auswertung großer Datenmengen zur Verfügung. Neben Analysewerkzeugen gibt es auch eine Infrastrukturebene, um das Tool anzupassen.

  • ZooKeeper bietet Funktionen und Services, um verteilte Applikationen zu koordinieren.