Das könnte dich auch interessieren

Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

Infrastruktur

Wir zeigen euch Hadoop: Big Data für jeden

    Wir zeigen euch Hadoop: Big Data für jeden

Hadoop ist mehr als nur süß. (Screenshot: t3n)

Mit unserer Artikel-Reihe „Big Data“ geben wir euch spannende Einblicke in das Thema hadoop. In diesem Artikel zeigen wir euch, was hinter dem gelben Elefanten steckt – Hadoop. Der Held aller, die mit Big Data arbeiten. Eine Einführung.

Mit unserer Artikel-Reihe „Big Data“ geben wir euch in Kooperation mit „The unbelievable Machine“ aus Berlin spannende Einblicke in das Thema Hadoop.

Hadoop ist eine auf Java basierende Open-Source-Lösung, die ein skalierbares und zeitgleich verteiltes Verarbeiten von großen Datenmengen ermöglicht: verteilt deswegen, weil mehrere Rechner eines Netzwerks an den Daten arbeiten können. Dies setzt ein spezielles Dateisystem voraus – nämlich eines, das verteilte Bearbeitung ermöglicht. Im Hadoop-Kontext handelt es sich dabei um das „Hadoop Distributed File System“, kurz HDFS. Das verteilte Dateisystem hat den von Google vorgeschlagenen „MapReduce-Algorithmus“ implementiert und wurde darauf optimiert. Der Suchmaschinengigant hat diesen Algorithmus speziell für die Verarbeitung von großen Datenmengen, also für den Einsatz mit „Big Data“, entwickelt.

hadoop-2
Hadoop wird unter Aufsicht der Apache Software Foundation weiterentwickelt. (Grafik: Apache)

Das Besondere: Hadoop kann dadurch sehr leicht auf konventioneller Hardware betrieben werden, anstatt auf kostspielige SAN-Lösungen (Storage Attached Networks) zurückgreifen zu müssen. Denn: Hadoop kann auf Standardhardware betrieben werden.

Hadoop setzt auf Technologie von Google

Das Map-Reduce-Framework, das die Datenverarbeitung übernimmt, macht das möglich. Vereinfacht ausgedrückt ähnelt die Verarbeitung des Map-Reduce-Frameworks der Pipe von Unix-Systemen. Die Pipe (|), beziehungsweise das so genannte „Pipelining“. ermöglicht die Weitergabe von verarbeiteten Daten an ein nachfolgendes Programm, was direkt mit den manipulierten Daten weiterarbeiten kann, beziehungsweise diese als Eingangsdaten akzeptiert.

Konkret werden Daten mit dem Mapper erfasst, vorbereitet und dann an den Reducer weitergereicht, der aus der Ausgangs-Datenmenge die gewünschte Schnittmenge bildet. Aus dem Zusammenspiel von Mapper und Reducer wurde also eine modifizierte Teilmenge gebildet, was wiederum das Ausgangsmaterial für etwaige Graphen oder Diagramme sein kann.

Hadoop: Mehrere Rechner arbeiten parallell an der gleichen Datenmenge

„Hadoop kann und will kein relationales DBMS ersetzen.“

Wenn die zu analysierenden Daten allerdings mehrere Giga- oder Terabyte groß sind, kann der MapReducer-Prozess sehr viel Zeit in Anspruch nehmen. Genau hier spielt Hadoop die Karte des verteilten und parallelen Rechnens, denn jeder Rechner wertet nur eine kleine Teilmenge der Gesamtdaten aus und erst kurz vor dem Reducer-Prozess werden die Daten wieder zusammen geführt.

Noch konkreter beschrieben, übernehmen die Hadoop-Dienste „JobTracker“ und „TaskTracker“ die Implementierung des MapReduce-Algorithmus. Aufgrund dessen und der verteilten Datenstruktur in Kombination mit dem MapReduce-Framework ist Hadoop die ideale Lösung für diverse Big-Data-Probleme.

Hadoop vs MySQL

Dabei kann und will Hadoop kein relationales DBMS ersetzen. Dies ist auch nicht vorstellbar, denn Hadoop ist nicht in der Lage Ad-hoc-Anfragen – beispielsweise mit SQL – in Echtzeit auszuwerten, so wie es relationale Datenbanksysteme können. Anders gesagt: Es gibt einen Gund warum der „Kopf“ hinter dem MapReduce-Ansatz – nämlich Google selbst – der größte Betreiber einer SQL-Installation, nämlich der MySQL-Fork MariaDB, ist.

Fazit

Hadoop nutzt Ansätze, die bereits seit den 70igern bekannt sind. Dazu gehört das verteilte Rechnen oder auch das Weiterreichen von Daten an andere Programme zur Weiterverarbeitung. Der große Vorteil bei Hadoop liegt allerdings in der kosteneffektiven Umsetzung. Dank Java läuft Hadoop auf beinahe jeder Hardware und macht es somit möglich, dass jeder mit Big-Data arbeiten kann.

Setzt ihr Hadoop ein?

Finde einen Job, den du liebst

3 Reaktionen
Timo
Timo

An dieser Stelle muss man bemerken dass sich Hadoop nur lohnt wenn man wirklich riesige Datenmengen und ein grosses Cluster hat. Siehe:
Don't use Hadoop - your data isn't that big https://www.chrisstucchio.com/blog/2013/hadoop_hatred.html

Alternativ gibt es da Storm von Apache, was man sich auf jeden Fall auch anschauen sollte: https://storm.apache.org/

Antworten

Chris
Chris

*Hust* Klugscheiss: Google verwendet kein MySQL mehr, die nutzten Maria DB *Hust*

Antworten

Mario Janschitz

Oh Gott. Ich bin so 2013. Danke für den Hinweis :)

Antworten

Melde dich mit deinem t3n-Account an oder fülle die unteren Felder aus.

Abbrechen