Zum Inhalt springen

Hadoop – das Big Data Tool erklärt!

  • Daten

Hadoop ist ein Softwareframework mit dem sich große Datenmengen auf verteilten Systemen schnell verarbeiten lassen. Es verfügt über Mechanismen, welche eine stabile und fehlertolerante Funktionalität sicherstellen, sodass das Tool für die Datenverarbeitung im Big Data Umfeld bestens geeignet ist.

Bestandteile von Hadoop

Das Softwareframework selbst ist eine Zusammenstellung aus insgesamt vier Komponenten.

Hadoop Common ist eine Sammlung aus verschiedenen Modulen und Bibliotheken, welche die anderen Bestandteile unterstützt und deren Zusammenarbeit ermöglicht. Unter anderem sind hier die Java Archive Dateien (JAR Files) abgelegt, die zum Starten von Hadoop benötigt werden. Darüber hinaus ermöglicht die Sammlung die Bereitstellung von grundlegenden Services, wie beispielsweise das File System.

Der Map-Reduce Algorithmus geht in seinen Ursprüngen auf Google zurück und hilft komplexe Rechenaufgaben in überschaubarere Teilprozesse aufzuteilen und diese dann über mehrere Systeme zu verteilen, also horizontal zu skalieren. Dadurch verringert sich die Rechenzeit deutlich. Am Ende müssen die Ergebnisse der Teilaufgaben wieder zu seinem Gesamtresultat zusammengefügt werden.

Der Yet Another Resource Negotiator (YARN) unterstützt den Map-Reduce Algorithmus, indem er die Ressourcen innerhalb eines Computer Clusters im Auge behält und die Teilaufgaben auf die einzelnen Rechner verteilt. Darüber hinaus ordnet er den einzelnen Prozessen die Kapazitäten dafür zu.

Das Hadoop Distributed File System (HDFS) ist ein skalierbares Dateisystem zur Speicherung von Zwischen- oder Endergebnissen. Innerhalb des Clusters ist es über mehrere Rechner verteilt, um große Datenmengen schnell und effizient verarbeiten zu können. Die Idee dahinter war, dass Big Data Projekte und Datenanalysen auf großen Datenmengen beruhen. Somit sollte es ein System geben, welches die Daten auch stapelweise speichert und dadurch schnell verarbeitet. Das HDFS sorgt auch dafür, dass Duplikate von Datensätzen abgelegt werden, um den Ausfall eines Rechners verkraften zu können.

Wie funktioniert Hadoop?

Angenommen wir wollen aus einer Million deutschen Büchern die Wortverteilung auswerten. Für einen einzelnen Computer wäre das eine gewaltige Aufgabe. Der Map-Reduce Algorithmus würde in diesem Beispiel erst die Gesamtaufgabe in überschaubarere Teilprozesse unterteilen. Das könnte beispielsweise so aussehen, dass man zuerst die Bücher einzeln betrachtet und für jedes Buch das Wortvorkommen und die -verteilung bestimmt. Die einzelnen Bücher würden somit auf die Knoten verteilt werden und für die einzelnen Werke die Ergebnistabellen erstellt werden.

Innerhalb des Computerclusters haben wir einen Knoten, der die Rolle des sogenannten Masters übernimmt. Dieser führt in unserem Beispiel keine direkte Berechnung durch, sondern verteilt lediglich die Aufgaben auf die sogenannten Slave Knoten und koordiniert den ganzen Prozess. Die Slave Knoten wiederum lesen die Bücher aus und speichern die Worthäufigkeit und die Wortverteilung.

Sobald dieser Schritt abgeschlossen ist, kann nur noch mit den Ergebnistabellen weitergearbeitet werden und wir benötigen die speicherintensiven Ausgangsbücher nicht mehr. Die finale Aufgabe, also die Zwischentabellen zu aggregieren und das Endergebnis zu berechnen, kann anschließend auch wieder parallelisiert werden oder, je nach Aufwand, von einem einzigen Knoten übernommen werden.

Unterschiede zwischen Hadoop und einer relationalen Datenbank

Hadoop unterscheidet sich in einigen grundlegenden Eigenschaften von einer vergleichbaren relationalen Datenbank.

EigenschaftRelationale DatenbankHadoop
Datentypenausschließlich strukturierte Datenalle Datentypen (strukturiert, semi-strukturiert und unstrukturiert)
Datenmengewenig bis mittel (im Bereich von einigen GB)große Datenmengen (im Bereich von Terrabyte oder Petabyte)
AbfragespracheSQLHQL (Hive Query Language)
SchemaStatisches Schema (Schema on Write)Dynamisches Schema (Schema on Read)
KostenLizenzkosten je nach DatenbankKostenlos
DatenobjekteRelationale TabellenKey-Value Pair
SkalierungstypVertikale Skalierung (Computer muss hardwaretechnisch besser werden)Horizontale Skalierung (mehr Computer können dazugeschaltet werden, um Last abzufangen)
Vergleich Hadoop und Relationale Datenbank

Das solltest Du mitnehmen

  • Hadoop ist ein Softwareframework mit dem große Datenmengen schnell verarbeitet werden können.
  • Das Framework besteht aus der Hadoop Common, dem Map-Reduce Algorithmus, dem Yet Another Resource Negotiator und dem Hadoop Distributed File System.
  • Es unterscheidet sich in vielen Punkten von einer vergleichbaren relationalen Datenbank. Im Einzelfall sollte entschieden werden, wie man die Daten am Besten verarbeiten und abspeichern möchte.

Andere Beiträge zum Thema Hadoop

  • Die Dokumentation von Hadoop liefert aufschlussreiche Anleitung zum Download und Einrichten des Systems.
  • Die Unterschiedstabelle zwischen Hadoop und einer relationalen Datenbank ist in Anlehnung an die Kollegen von datasolut.com entstanden.
close
Das Logo zeigt einen weißen Hintergrund den Namen "Data Basecamp" mit blauer Schrift. Im rechten unteren Eck wird eine Bergsilhouette in Blau gezeigt.

Verpass keine neuen Beiträge!

Wir versenden keinen Spam! Lies die Details gerne in unserer Datenschutzrichtlinie nach.

Schlagwörter:
Cookie Consent mit Real Cookie Banner