Datenanalyse mit Hilfe von Hadoop
Quelle: YMC

Datenanalyse mit Hilfe von Hadoop

Von Christian Gügi

Das generische, flexible Toolset Hadoop bildet den Kern von Systemen, die zur Analyse von unstrukturierten, heterogenen Daten eingesetzt werden.

Artikel erschienen in Swiss IT Magazine 2014/09

     

Früher waren Informationen ein reines Nebenprodukt – heute sind sie zentrales Kapital jedes Unternehmens. Sie werden als Erdöl des 21. Jahrhunderts bezeichnet, und aus ihnen lässt sich mittels Big-Data-Technologien erfolgskritisches Wissen generieren. Das Potential scheint unendlich zu sein, die Entwicklung steht indes erst am Anfang.
Seit Google seine technologischen Lösungen für paralleles Rechnen mit grossen Datenbeständen veröffentlicht hat, lassen sich unstrukturierte, heterogene Daten mit gängiger Hardware analysieren. Den Kern solcher Systeme bildet Hadoop, ein Leuchtturmprojekt der Apache Software Foundation (ASF) und zu 100 Prozent Open Source. Es lässt sich als generisches, flexibel einsetzbares Toolset für die Speicherung, Verarbeitung, Analyse und Abfrage von massiven Datenmengen umschreiben und kommt als der zentraler Enabler für Big-Data-Analytics-Systeme zum Einsatz.

Das Hadoop-Ökosystem

Das seit Februar 2014 in Version 2 verfügbare Hadoop ist modular aufgebaut. Zu diesem Top-Level-Projekt der ASF gehören mehr als 13 Unterprojekte, die auf verschiedene Weise kombiniert werden können und als Hadoop-Ökosystem bezeichnet werden. Die Kernkomponenten, welche die Grundlage für Hadoop bilden, sind:
- Das verteilte Dateisystem Hadoop Distributed Filesystem (HDFS) für die Datenspeicherung.
- Der Allzweck-Scheduler Yet Another Resource Negotiator (YARN) zur Ausführung jeglicher YARN-Anwendungen auf einem Hadoop-Cluster.
- Mapreduce, ein Batch-basiertes Programmiermodell für die parallele Verarbeitung der Daten.


HDFS
HDFS ist ein leistungsfähiges, verteiltes Dateisystem und bildet die Speicherkomponente von Hadoop. Es ist optimiert für hohen Durchsatz und funktioniert am besten beim Lesen und Schreiben von grossen Dateien (Gigabyte und grösser). Um diesen Durchsatz zu erzielen, nutzt HDFS, im Gegensatz zu gängigen Dateisystemen, ungewöhnlich grosse Datenblöcke (mindestens 64 MB) und Daten-
lokalität-Optimierung, um Netzwerk-Traffic zu reduzieren.
Hohe Verfügbarkeit sowie Skalierbarkeit sind ebenfalls wichtige Merkmale von HDFS. Diese werden mittels eingebauter Datenreplikation auf Blockebene und Fehlertoleranz erreicht. Je nach Konfiguration repliziert HDFS Dateien auf unterschiedliche Knoten und ist tolerant gegenüber Software- und Hardwarefehlern. Tritt ein Fehler auf einer einzelnen Maschine im Cluster auf, werden deren Datenblöcke automatisch auf einen anderen Knoten im Cluster re-repliziert. Die Speicher- und Rechenkapazitäten skalieren linear mit dem Hinzufügen weiterer Cluster-Knoten. So können mit hunderten von Knoten Kapazitäten im Petabyte-Bereich aufgebaut werden.

YARN
YARN ist innerhalb eines Clusters für die Ressourcenverwaltung zuständig und neu seit der zweiten Generation von Hadoop. Das Tool trennt durch den Einsatz von sogenannten Containern auf den spezifischen Hosts verschiedene Anwendungen voneinander und verbessert somit die Ressourcennutzung im gesamten Cluster. Damit öffnet sich die Plattform und unterstützt nativ neben klassischer Batch-Verarbeitung (Mapreduce) eine ganze Reihe zusätzlicher Verarbeitungsmodelle, darunter interaktive Verarbeitung, Graphen- und Stream-/Echtzeitverarbeitung. So entwickelt sich YARN zum «Betriebssystem» für Hadoop, mit dem verschiedenste analytische Anwendungen gleichzeitig laufen können.


Mapreduce
Mapreduce ist ein Batch-basiertes, verteiltes Programmiermodell und in Hadoop 2 als YARN-Applikation implementiert. Die Arbeitsverteilung basiert auf dem altbekannten Divide-and-Conquer-Prinzip. Damit ist es möglich, die Bearbeitung grosser Datensätze auf mehrere, parallel arbeitende Cluster-Knoten zu verteilen. Das Modell vereinfacht die parallele Verarbeitung durch Abstraktion der zugrundeliegenden Komplexität von verteilten Systemen, wie zum Beispiel das parallele Ausführen von Algorithmen, Arbeitsverteilung sowie den Umgang mit unzuverlässiger Hard- und Software.
Der Prozess bei Mapreduce besteht aus zwei Phasen: Im ersten Schritt werden die Aufgaben auf die Rechner verteilt (Map), indem die zu untersuchenden Daten partitioniert werden. Auf jeder Datenpartition wird eine Map-Funktion ausgeführt. Map-Funktionen sind kleine, parallelisierte Teil- aufgaben, die dank dem implementierten Shared-Nothing-Modell unabhängig voneinander, das heisst ohne Laufzeitabhängigkeiten oder unerwünschte Synchronisationspunkte, arbeiten können. Im zweiten Schritt wird auf Grundlage der einzelnen Teilergebnisse ein Gesamtergebnis ermittelt (Reduce). Damit keine grossen Datenmengen im Netzwerk bewegt werden müssen, wird bei Mapreduce die Frage, also der Algorithmus, zu den Daten geschickt.

Hadoop-Distributionen

Neben der kostenlos verfügbaren Basisversion von Apache Hadoop können Anwender mittlerweile verschiedenste Enterprise-Distributionen nutzen. Wie beschrieben besteht die freie Version aus einer Vielzahl von zusammenhängenden Komponenten, die im Rahmen anderer Apache-Projekte entwickelt werden. Um ein Cluster aufzubauen, müssen diese quasi von Hand in aufeinander abgestimmten Versionen installiert werden. Dies setzt beträchtliches Know-how voraus. Um die Handhabung für Unternehmen zu vereinfachen, sind verschiedene vorintegrierte Lösungen, sogenannte Hadoop-Distributionen entstanden. Anbieter solcher Distributionen sind spezialisierte Firmen wie Cloudera, Hortonworks, MapR und Pivotal, aber auch Generalisten wie IBM und Microsoft. Zudem können zur Ablage und Analyse der Daten Cloud-Dienste wie Amazon Web Services (AWS) oder Google Cloud Platform benutzt werden. Bei allen Distributionen sind die wichtigsten Komponenten aus dem Hadoop-Ökosystem vorintegriert. So wird ein optimales Zusammenspiel sichergestellt. Teilweise werden gewisse Distributionen noch um spezifische Ei- genentwicklungen der Anbieter ergänzt. Ein Vorteil neben dem integrierten Softwarepaket eines Herstellers ist sicherlich, dass man auf Beratung, technischen Support und Training zurückgreifen kann.

Entwicklungen bei Big Data

Der Trend entwickelt sich von der Batchverarbeitung weiter zur interaktiven Abfrageverarbeitung mit viel kürzeren Antwortzeiten. Systeme wie Impala, Drill, TEZ, Spark SQL und andere werden unter dem Begriff «SQL on Hadoop» zusammengefasst. Sie bieten die Möglichkeit, per SQL-Statements Daten, welche auf HDFS gespeichert sind, abzufragen und zu verarbeiten. Ausserdem liegt in Echtzeitanalysen im Zusammenspiel mit Hadoop ein erheblicher Nutzen. Mit der Nutzung von In-Memory-Technologien für zentral hochverfügbare Daten sind enorme Leistungszuwächse bei Analyse und Abfrage möglich. Apache Spark als Hadoop-kompatibles Datenanalyse­system der nächsten Generation ist aus Komponenten aufgebaut. Spark fasst den vorhandenen Hauptspeicher eines Rechenclusters zusammen und macht ihn so für effiziente Datenanalysen nutzbar.

Chancen und Herausforderungen für KMU

Auch KMU sind von der täglich anfallenden Datenflut überwältigt. In der Regel müssen mittelständische Unternehmen jedoch nicht dieselben Datenvolumen bewältigen wie Grosskonzerne. Treiber für diesen digitalen Strukturwandel sind neben den klassischen Geschäftsdaten (z.B. Stammdaten, CRM- und Transak­tionsdaten) vor allem von Maschinen generierte Daten (z.B. Sensor- oder Log­daten) und die sozialen Medien.
Die wachsende Datenmenge ist mit klassischen Data-Warehouse- und Business-Intelligence-Architekturen häufig nicht mehr handhabbar. Durch den Einsatz von Hadoop lassen sich unstrukturierte, heterogene Daten effizient und kostengünstig analysieren. Trotz all dieser neuen Begriffe und Technologien rund um Big Data hat sich im Kern die Problematik aber nicht verändert: Wissen wird zur Ware. Die richtigen Informationen zur richtigen Zeit selektieren zu können und zur Verfügung zu haben, bedeutet einen Produktivitätszuwachs, der keineswegs nur die Internetökonomie, sondern sämtliche Wirtschaftszweige betrifft. Deshalb müssen sich KMU nicht die Frage stellen, ob Big Data für sie sinnvoll ist, sondern eher, wie sie diesem Konzept begegnen können.

Auf dem Weg zur Adaption von Big Data müssen Unternehmen die strategischen Ziele festlegen, getrieben vom Management und den betroffenen Fachbereichen. Diese Strategie sollte unter Berücksichtigung der Datensicherheit, dem Datenschutz und der ethischen Aspekte am Business-Nutzen ausgerichtet sein. Darüber hinaus müssen Entscheidungen getroffen werden, wie sich die Big-Data-Lösung in die bestehende IT-Umgebung integrieren lässt oder ob gegebenenfalls Hadoop in der Cloud eine Option darstellt. Dabei sind Kosten unausweichlich und stellen gerade für mittelständische Unternehmen ein nicht unerhebliches Investitionsrisiko dar. Entscheidend ist für KMU ist also, einen Mix aus Komplexität der Systeme und korrespondierenden Kosten zu finden. Sich frühzeitig mit Big Data zu beschäftigen und offene Fragen anzugehen, ist lohnenswert. Denn auch im kleinen Massstab kann die Datenanalyse zu Wettbewerbsvorteilen führen.


Christian Gu¨gi arbeitet als Big Data Solution Architect bei YMC. Er ist Gründer und Organisator der Swiss Big Data User Group, dem grössten Schweizer Netzwerk zum Thema Big Data.


Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Wieviele Zwerge traf Schneewittchen im Wald?
GOLD SPONSOREN
SPONSOREN & PARTNER