© Liashko/Shutterstock.com
Hadoop in der Cloud betreiben

Hadoop mit Azure HDInsight


Big Data ist in aller Munde, und einer der heißesten Trends in diesem Zusammenhang ist Hadoop. Hadoop gilt als das Wundermittel für alles, was Daten betrifft. Doch was genau ist dieses Hadoop und wodurch unterscheidet es sich von bekannten Tools wie SQL Server?

Seit einigen Jahren gibt es mit HDInsight eine Hadoop-Lösung von Microsoft auf Azure. Doch oftmals ist Hadoop selbst noch unbekannt, obwohl es international gesehen bereits sehr stark verbreitet ist und vor allem von großen IT-Unternehmen wie Facebook, Twitter, Yahoo! und Amazon eingesetzt wird [1]. Hadoop könnte man auch als „Betriebssystem“ für Daten bezeichnen, wobei es kein Betriebssystem ist – und auch keine Datenbank, sondern ein sehr komplexes Ökosystem für alles rund um Daten. Der Fokus liegt klar auf großen Datenmengen: Big Data und IoT. Vor allem die schier endlose Skalierung ist hierbei für eingangs erwähnte Unternehmen von Vorteil. Klassische Datenbanken skalieren oftmals nur bis zu einer gewissen Größe, Hadoop skaliert linear und kann problemlos Petabyte oder Zetabyte von Daten verarbeiten. Die Anwendungsmöglichkeiten sind ebenfalls fast unbegrenzt: der Newsfeed von Facebook wird durch Hadoop berechnet, Yahoo hat über 35 000 Server auf Hadoop-Basis, Spotify berechnet und analysiert den persönlichen Musikgeschmack mit Hadoop, wie es Netflix mit dem Filmgeschmack macht. Die Möglichkeiten von Hadoop, Datenanalysen betreffend, sind nahezu unbegrenzt – von strukturierten bis zu sehr stark unstrukturierten Daten. Hadoop kann mit all diesen Daten problemlos umgehen und arbeiten. Wofür Hadoop nicht geeignet ist, ist der Betrieb von Webseiten, etwa Webshops – denn Hadoop ist keine aktive Datenbank. Hadoop ist gar keine Datenbank. Der Erfolg von Hadoop liegt auch in der großen Open-Source-­Community begründet, die hinter Hadoop steht. Die ursprünglichen Erfinder von Hadoop sind heute in führenden Positionen der größten Hadoop-Distributoren, zu denen Cloudera, Hortonworks [2] und MapR zählen, tätig. Ein weiterer, nicht unwichtiger Grundstock für den Hadoop-Erfolg sind die Kosten: Im Vergleich mit relationalen Datenbanken oder gar Datawarehouses sind es bei Hadoop oftmals nur ein Bruchteil der Kosten – sie variieren je nach Vergleichsobjekt zwischen einem Zehntel und sogar einem Hundertstel!

Das Hadoop-Ökosystem

Wie erwähnt, handelt es sich bei Hadoop um keine Datenbank, sondern um ein komplexes Ökosystem. Hadoop wurde ursprünglich zur Umsetzung der Map/Reduce-Suche von Google entwickelt und dessen Implementierung als Open Source zur Verfügung gestellt. Heutzutage werden immer noch viele Hadoop-Abfragen durch Map/Reduce umgesetzt, wobei es inzwischen auch viele Umsetzungen durch andere Lösungen wie etwa Apache Tez oder Apache Spark gibt. Hadoop läuft primär auf Linux-Systemen. Zwar gibt es auch eine Windows-Implementierung, doch sie wird kaum genutzt. Auch auf Azure läuft Hadoop ausschließlich auf Linux. Das Herzstück von Hadoop ist YARN, das die Ausführungsumgebung bereitstellt. Als Entwickler hat man damit selten zu tun, man darf sich aber über diverse Fehlermeldungen von YARN freuen. Wäre Hadoop ein Betriebssystem, könnte man dies mit dem Kernel gleichsetzen. Hadoop verteilt die Daten im Netzwerk, wobei das Hadoop Distributed File System (HDFS) zum Einsatz kommt. Wie der Name schon sagt, liegt der Fokus auf der Verteilung der Daten. Hierbei kümmert sich Hadoop selbst um die Verteilung und den Zugriff. Als Endanwender sieht man nur den Dateinamen und den Pfad, wie in jedem anderen Betriebssystem, das auf Unix basiert. Ob dahinter nun 10 oder 10 000 Server stehen, macht keinen Unterschied, auch die Dateigröße ist irrelevant. Hadoop kümmert sich um die effiziente Speicherung und die Verteilung der Datei(en). Daten, die für eine spätere Analyse verwendet werden, liegen oftmals als Textdateien vor. Das mag aus Sicht der klassischen Datenbankwelt komisch erscheinen, ist aber für Hadoop gar kein Problem. Hadoop arbeitet nämlich schemalos, man kann also Datensätze beliebig variieren und hat keine Probleme zu befürchten. Für klassische DB-Admins mag das sehr verwirrend sein, doch wenn man sich eine Weile damit beschäftigt, lernt man sehr schnell die Vorzüge und die Einfachheit kennen und lieben. Ein weiterer großer Unterschied zur klassischen SQL-Welt ist die Art, wie Daten analysiert werden. Hierzu bietet Hadoop eine Vielzahl an Möglichkeiten und Tools. Ein vollständig SQL-kompatibles Tool wird man jedoch nicht finden, es gibt lediglich Tools, die sich wie SQL „anfühlen“. Der Hintergrund ist, dass Hadoop so unterschiedlich zu relationalen Datenbanken ist und viele Dinge wie Schemata und Relationen nicht vorhanden sind.

meir-huber_hdinsight_01.tif_fmt1.jpgAbb. 1: Das Hadoop-Ökosystem im Überblick

In Abbildung 1 sind einige der wichtigsten Komponenten des Hadoop-Ökosystems dargestellt. Wichtig ist hierbei anzumerken, dass e...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang