Swen Deobald
9. September 2019

Hadoop

Hadoop ist für die Verarbeitung von großen Datenmengen auf verteilten Systemen konzipiert. Zu den Stärken der Software gehört die hohe Geschwindigkeit, mit der sich die Datenverarbeitung im Bereich Big Data vornehmen lässt. Die Software wird von der Apache Software Foundation entwickelt und basiert auf Java. Hadoop ist heute auch aufgrund seiner Einfachheit eines der meistgenutzten Software-Frameworks für die Verarbeitung großer Datenmengen.

Einsatzzweck

Apache Hadoop kommt überall dort zum Einsatz, wo der Umgang mit Big Data erforderlich ist. Das ist zum Beispiel bei mittleren bis großen Unternehmen der Fall. Ein Einsatz der Software ist sinnvoll, wenn Daten in unstrukturierter oder halbstrukturierter Form vorliegen und für Anfragen und Analysen nutzbar gemacht werden sollen. Weitere Einsatzbereiche ergeben sich dort, wo die flexible Entwicklung von Funktionen für die Datenanalyse durch die eigenen Programmierer gewünscht ist.

Features

Eines der wichtigsten Merkmale ist die Open-Source-Lizenz. Es handelt es sich um eine frei verfügbare Software, die Unternehmen nach ihren eigenen Bedürfnissen jederzeit anpassen können. Damit lassen sich die Analysetools für die Datenverarbeitung maßschneidern. Dank der Verwendung des Dateisystems HDFS ist eine Verteilung der Daten auf mehrere Rechner im Cluster möglich. Weiterhin bietet Hadoop eine hohe Fehlertoleranz, die durch Redundanz erreicht wird. Jeder Block wird dabei standardmäßig dreimal im Cluster abgelegt. Der Ausfall eines einzelnen Knotens spielt beim Zugriff auf die Daten daher keine Rolle. Hadoop bietet eine hohe Verfügbarkeit und Skalierbarkeit und lässt sich damit in anspruchsvollen und sensiblen Umgebungen einsetzen. Zudem setzt Hadoop auf das Prinzip der Datenlokalität. Darunter ist zu verstehen, dass Verarbeitungsprozesse wie etwa ein MapReduce-Algorithmus zu den Daten gebracht wird statt die Daten zum Algorithmus. Der Programmcode wird also direkt auf den Servern des Hadoop-Clusters ausgeführt statt auf den Client-Servern. Damit lassen sich zeitintensive Datenübertragungen im Netzwerk vermeiden, was gerade im Umgang mit Big Data vorteilhaft ist.

Hadoop

Architektur

Hadoop dient in den Unternehmen als Ökosystem für das Zusammenspiel mit einer Vielzahl von Erweiterungen. Für die Bereitstellung dieses Ökosystems dienen in der Praxis vor allem die beiden Architekturen Lambda und Kappa. Bei beiden handelt es sich um Echtzeit-Big-Data-Architekturen, die für die Verarbeitung von großen Datenmengen ausgerichtet sind. Die Architektur ist so ausgelegt, dass eine Anwendung bei kontinuierlichem und uneingeschränktem Datenfluss möglich ist. Die Architekturen können mit Unstimmigkeiten im Datenstrom umgehen, sind erweiterbar und bieten eine hohe Skalierbarkeit und Fehlertoleranz. Antworten erhält der Nutzer auf Grundlage einer aktuellen Momentaufnahme der Daten in der Datenbank oder mit einer gewissen Latenz und damit in Echtzeit.

Lambda-Architektur

Die Lambda-Architektur besitzt verschiedene Layer wie zum Beispiel den Batch-Layer für die Verarbeitung der Daten in längerdauernden Batchprozessen. Das wird zum Beispiel von Hadoop MapReduce übernommen. Echtzeit-Anfragen werden vom Speed-Layer verarbeitet. Dieser ist nützlich für hohe Datenströme, wie sie zum Beispiel in der Industrie 4.0 oder im Internet of Things anfallen. Auch soziale Netzwerke oder Machine-Learning-Algorithmen greifen auf den schnellen Speed-Layer zurück. Hinzu kommt ein Serving-Layer, der dem Benutzer die Ergebnisse aus dem Batch-Layer und dem Speed-Layer zur Verfügung stellt. Die Kappa-Architektur unterscheidet sich dadurch, dass hier auf einen Batch-Layer vollkommen verzichtet wird. Hier werden nur Live-Events betrachtet.

Verwaltung mit HBase

In der Praxis erfolgt der Einsatz von Hadoop fast immer gemeinsam mit verschiedenen Erweiterungen. Diese sind bei Hadoop besonders vielfältig. Dazu gehört zum Beispiel die Erweiterung HBase. Mit HBase lassen sich große Datenmengen in einem Hadoop-Cluster einfach verwalten. Zudem fällt die Skalierbarkeit hoch aus. Für die Umsetzung dieser Erweiterung wird eine freie Implementierung von Google BigTable verwendet. Der Einsatz in der Praxis erfolgt vor allem in solchen Szenarien, in denen die Datenbestände zwar selten geändert, aber häufig erweitert werden. Nützlich ist HBase immer dann, wenn kleine Datenmengen aus großen Datenbeständen verarbeitet werden sollen.

Funktionsweise

Als Dateisystem mit hoher Verfügbarkeit setzt Hadoop auf das Hadoop Distributed File System (HDFS). Dieses Dateisystem ist zugeschnitten auf große Datenmengen. Die Speicherung der Daten erfolgt verteilt auf mehreren Rechnern oder Knoten. Die Knoten lassen sich dabei in Masterknoten und Slaveknoten unterscheiden. Der Masterknoten ist für die Bearbeitung von eingehenden Anfragen zuständig und kümmert sich um die Zuteilung der zu speichernden Daten an die Slaveknoten. Auch die Metadaten werden im Masterknoten gespeichert. In den Slaveknoten erfolgt dann die eigentliche Datenablage. Das Dateisystem arbeitet so effizient, dass eine Unterstützung von mehreren hundert Millionen Dateien möglich ist. Der Anwender hat dabei die Kontrolle über die Länge der Dateiblöcke und den Redundanzgrad beim Ablegen der Daten auf den verschiedenen Knoten.

Hadoop setzt vor allem bei großen Dateien auf HDFS. Für die Verwaltung kleinerer Dateien kommt stattdessen Hadoop Archives (HAR) zum Einsatz. Bei Bedarf ist es möglich, HDFS durch andere Dateisysteme zu ersetzen. Dabei kommen zum Beispiel Azure Blockstorage oder MapRFS infrage.

SAP BW/4HANA [E-Book]

Sie möchten datengetriebene Entscheidungen treffen? Zukunftssichere Analysen fahren? Jetzt unser BW-E-Book lesen!

Integration

Die verschiedenen für die Berechnungen erforderlichen Knoten befinden sich in einem sogenannten Cluster. Der Anwender entscheidet selbst, wo er diesen Cluster einrichten möchte. Der Betrieb von Hadoop erfolgt entweder auf lokaler Hardware oder in der Cloud. Richtet das Unternehmen den Cluster auf eigener Hardware ein, muss eine IT-Infrastruktur für den Betrieb und die Wartung bereitgestellt werden. Hier stellt sich die Frage nach der Ausfallsicherheit und den Kosten.

Cluster oder Cloud?

In der Regel wird Hadoop heute in der Cloud betrieben. Ein vollwertiger Cluster lässt sich zum Beispiel mit HDInsight in der Cloud einrichten. Hierbei handelt es sich um einen Dienst innerhalb der Microsoft-Cloud Azur. Aus Sicht der Unternehmen ergibt sich bei der Cloud-Lösung immer der Vorteil einer einfacheren Verwaltung und Konfiguration. Das Aufspielen neuer Versionen, die Wartung und die Herstellung der Ausfallsicherheit übernimmt der externe Dienstleister, der die Cloud zur Verfügung stellt. Für die Unternehmen ergibt sich der Vorteil, dass sie einen lokal betriebenen Cluster jederzeit in die Cloud migrieren können. Ein Einstieg mit einer kleinen Cluster-Konfiguration mit einfacherer Integration ist also lokal möglich. Bei höherem Ressourcenbedarf kann der Weg in die Cloud zu einem späteren Zeitpunkt noch immer beschritten werden.

Vor- und Nachteile

Zu den Vorteilen von Hadoop gehört die Bereitstellung unter der Apache-Lizenz. Der Erwerb zusätzlicher Lizenzen ist nicht erforderlich. Das bedeutet, dass die Software ohne Kosten eingesetzt werden kann. Es fallen wie üblich nur laufende Kosten für den Betrieb der Hardware wie etwa der Server an. Sinnvoll ist der Einsatz gemeinsam mit Linux als zugrundeliegendem Betriebssystem. Die meisten Linux-Distributionen sind ebenfalls kostenlos verfügbar. Unternehmen zahlen jedoch dann, wenn sie den Support nutzen möchten oder für Hadoop zusätzliche Dienste benötigen.

Besonderheiten

Zu den Besonderheiten von Hadoop gehört die Unterstützung von transparenten Dateiformaten. Je nach Anwendung können andere Dateiformate verwendet werden. Dabei kann es sich um strukturierte oder unstrukturierte Formate handeln. Textformate unterstützt Hadoop ebenfalls. Dazu gehören zum Beispiel die beiden weit verbreiteten Formate CSV oder JSON. Auch hochoptimierte tabulare Formate wie Parquet oder schemenbasierte Dateien wie Apache Avro unterstützt Hadoop. Dafür stehen viele Plugins für die Unterstützung weiterer Dateiformate zur Verfügung. Und es ist relativ einfach möglich, eigene Dateiformate für Hadoop zu entwickeln und diese exakt auf die Bedürfnisse der einzelnen Mitarbeiter und Nutzergruppen zuzuschneiden.

Fazit

Apache Hadoop bietet viele fortschrittliche Funktionen für den Umgang mit Big Data. Zu den Stärken gehört die Auslieferung in Form einer flexiblen Lizenz, wie sie bei Apache auch bei dem Betriebssystem Linux bekannt ist. Unternehmen können mit dem Einsatz von Hadoop beginnen, ohne gleich finanzielle Risiken eingehen zu müssen. Dank der vielfältigen Erweiterungen ist Hadoop in hohem Maße ausbaufähig. Der Einsatz erscheint auch deshalb als sinnvoll, weil bereits viele Unternehmen auf Hadoop setzen und viele Entwickler mit dem Programmieren für Hadoop vertraut sind. Interessant ist Hadoop für alle Unternehmen, die sich ohnehin schon intensiv in einem Java-Umfeld bewegen.

Swen Deobald

Swen Deobald

Mein Name ist Swen Deobald und ich bin begeisterter SAP Analytics Berater. Als Fachbereichsleiter von Compamind unterstütze ich Sie mit meinem Team bei allen Fragen rund um SAP Analytics, Business Warehouse, BusinessObjects und der SAP Analytics Cloud.

Sie haben Fragen? Kontaktieren Sie mich!


Das könnte Sie auch interessieren:

SAP Analytics

Das könnte Sie auch interessieren

Mit dem Analytics Hub von SAP können Anwender in den Unternehmen noch einfacher auf die Analytics-Lösungen in ihrer SAP Cloud zugreifen. SAP Cloud und Hub arbeiten also Hand in Hand. Damit soll es noch einfacher sein, anhand des gespeicherten Contents […]

weiterlesen

In unserer digitalen Welt ist die effektive Datenverarbeitung in Echtzeit einer der wichtigsten Schlüssel zum Erfolg. Dabei entstehen in jedem Unternehmen tagtäglich neue Informationen, die adäquat gesammelt, verwaltet, weiterverarbeitet und gewartet werden müssen.

weiterlesen

Viele Unternehmen wünschen sich ein ausgefeiltes BI Tool wie Microsoft Power BI um bessere, datengestützte Entscheidungen treffen zu können.

weiterlesen

Unsere Produkte zu Hadoop

Ihre Mitarbeiter investieren die meiste Zeit in den Support anstatt in profitable Projekte? Wir übernehmen diese Aufgabe – erwartungskonform und in gleicher Qualität!

Mehr Informationen

BW-Datenflüsse erstellen ist aufwendig und nicht in Ihr Tagesgeschäft zu integrieren? Mit unserem standardisierten Vorgehen zur Konzeption können Sie sich weiter den wichtigen Aufgaben im Unternehmen widmen!

Mehr Informationen

Ihr Reporting besteht noch aus Exceltabellen? Für ein professionelles Frontend-Tool fehlt das Knowhow? Mit unserem Einführungsleitfaden für SAP BO schließen wir diese Lücke!

Mehr Informationen

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Angebot anfordern
Expert Session