MapReduce
Was ist MapReduce?
MapReduce ist ein Programmiermodell, das auf Hadoop ausgeführt wird – einer verbreitet für Big Data eingesetzten Datenanalyse-Engine – und parallel ausgeführte Anwendungen schreibt, um große, in Clustern gespeicherte Datenmengen zu verarbeiten.
Elastische Flexibilität
Wenngleich MapReduce langsamer arbeitet als andere Modelle, bietet seine Flexibilität zur schnellen Skalierung oder Zuordnung weiterer Computing Nodes, um die Rechenzeiten zu verkürzen, enorme Vorteile. MapReduce ermöglicht aufgrund seiner verteilten Dateisysteme und seiner Fähigkeit, Prozesse in der Nähe der Daten auszuführen, statt die Daten zu verschieben, Skalierungen für Tausende von Nodes. Seine Skalierbarkeit reduziert die Kosten für die Speicherung und Verarbeitung wachsender Datenmengen.
Parallele Verarbeitung
Mit MapReduce müssen Entwickler keinen Code für die Parallelität und die Verteilung von Daten oder andere komplexe Aufgaben programmieren, da diese bereits in das Modell integriert sind. Allein dies verkürzt die analytische Programmierzeit.
Unterstützung für unstrukturierte Daten
Unstrukturierte Daten stellen den Großteil (80 %) der generierten Daten dar. MapReduce kann jede Art von Datenstruktur unterstützen und Unternehmen so eine effektivere Datenanalyse ermöglichen.
Fehlertoleranz
MapReduce ist weniger anfällig für Hardware-Störungen, die eine Systemunterbrechung verursachen, da es mit auf zahlreiche Computer und Server verteilten Daten arbeitet. MapReduce sendet einen vollständigen Datenbestand an jeden Node innerhalb des Netzwerks. Sollte ein Node oder eine Hardware-Komponente ausfallen, können so alle Daten erhalten und automatisch wiederhergestellt werden.
Wie funktioniert MapReduce?
Die Arbeitsweise von MapReduce kann in drei Phasen sowie eine vierte optionale Phase untergliedert werden.
- Mapper: In dieser ersten Phase filtert eine bedingte Logik die Daten über alle Nodes hinweg nach Schlüsselwertpaaren. Der „Schlüssel“ bezieht sich auf die Offset-Adresse für jeden Datensatz und der „Wert“ enthält alle Datensatzinhalte.
- Shuffle: Während der zweiten Phase werden die Mapping-Ausgabewerte sortiert und konsolidiert. Die Werte werden nach ähnlichen Schlüsseln gruppiert und doppelte Werte werden verworfen. Die Ausgabe der Shuffle-Phase ist ebenfalls in Schlüsselwertpaaren angeordnet, hier jedoch repräsentieren die Werte eher einen Bereich als den Inhalt eines Datensatzes.
- Reducer: In der dritten Phase wird die Ausgabe der konsolidierten Shuffle-Phase aggregiert und alle Werte werden ihren jeweiligen Schlüsseln hinzugefügt. Dies wird dann in einem zentralen Ausgabeverzeichnis zusammengefasst.
- Combiner: Durch Ausführen dieser Phase kann MapReduce die Auftragsleistung optimieren und den Auftragsfluss schneller gestalten. Dies geschieht, indem die Mapper-Ausgaben auf Node-Ebene nach Duplikaten durchsucht werden, die in einem einzelnen k-v-Paar zusammengefasst werden. Hierdurch wird der Arbeitsaufwand in der Shuffle-Phase reduziert.
Die dahinter stehende Architektur besteht aus zwei Daemon Services – Resource Manager und Node Manager –, die sowohl die Mapper- und Reducer-Aufgaben ausführen als auch fehlgeschlagene Aufgaben überwachen und erneut ausführen. Diese beiden Services verwalten zudem die Komponenten für die Parallelverarbeitung und Fehlertoleranz aller MapReduce-Jobs.
Im weiteren Strukturverlauf werden Ressourcen-Management- und Planungs-/Überwachungsfunktionen in verschiedene Daemons unterteilt, einen globalen Ressourcen-Manager und einen Anwendungs-Master für jede Anwendung.
Bei einem neuen Job koordiniert der Ressourcen-Manager die Zuordnung der Cluster-Ressourcen für alle laufenden Anwendungen. Gemeinsam mit dem Anwendungs-Master und dem Node-Manager bestimmt er, welche Nodes den Auftrag ausführen können. Dann beginnt die Koordination durch den Anwendungs-Master und den/die Node-Manager. Der tatsächliche Start und die Überwachung der Computing-Container erfolgt durch die Node-Manager.
Wie nutzen Unternehmen MapReduce?
Mit zunehmender Reife des Datenverarbeitungsmarktes hat sich der Marktanteil von MapReduce auf weniger als ein Prozent reduziert. Dennoch wird er weiterhin von nahezu 1500 Unternehmen in den Vereinigten Staaten genutzt und verzeichnet eine Zunahme in anderen Ländern.
Im Wesentlichen wird MapReduce von der Computer-Software- und der IT-Service-Branche genutzt. Weitere Branchen umfassen Finanzdienstleistungen, Krankenhäuser und Gesundheitswesen, das Hochschulwesen, den Einzelhandel, Versicherungen, das Telekommunikations- sowie das Bankwesen. Hier finden Sie einige Anwendungsfälle:
- Finanzdienstleistungen: Retailbanken validieren mithilfe eines Hadoop-Systems die Genauigkeit und Qualität von Daten zur Einhaltung von gesetzlichen Vorgaben.
- Gesundheitswesen: Ein IT-Unternehmen des Gesundheitswesens nutzt ein Hadoop-System, um Ansprüche mehrerer Jahre zu archivieren und Daten zu übermitteln. Dies führt dazu, dass täglich Terabytes an Daten verarbeitet und für weitere Analysen gespeichert werden. Ein weiteres Krankenhaus-System überwacht die Vitalwerte der Patienten durch Erfassen von Milliarden konstant Daten liefernder Datenpunkte in Form von Sensoren, an welche die Patienten angeschlossen sind.
- IT-Services: Ein großer Anbieter von IT-Services erfasst Diagnosedaten aus den bei seinen Kunden implementierten Datenspeichersystemen. Das Unternehmen nutzt ein Hadoop-System, das MapReduce für unstrukturierte Protokolle und System-Diagnose-Informationen einsetzt.
- Forschung: In der laufenden Forschung im Rahmen des Humangenomprojekts wird Hadoop MapReduce zur Verarbeitung enormer Datenmengen eingesetzt. Und ein bekanntes Forschungsunternehmen für familiäre Genetik verarbeitet eine Fülle von Gen-Sequenzierungsdaten, einschließlich strukturierter und unstrukturierter Daten zu Geburten, Todesfällen, Volkszählungen sowie militärischer und Einwanderungsdaten mit einem Gesamtvolumen von mehreren Petabyte, Tendenz steigend.
- Einzelhandel: Ein führender Online-Marktplatz nutzt MapReduce zur Analyse enormer Mengen an Protokolldaten, um Kundenverhalten, Suchempfehlungen und mehr zu ermitteln. Ein großes Kaufhaus nutzt ein Hadoop-System zur Verarbeitung von Marketing-Kampagnendaten, um Erkenntnisse für gezieltere Kampagnen bis hin zum einzelnen Kunden zu gewinnen.
- Telekommunikationswesen: Das Speichern von Milliarden von Anrufdatensätzen mit Echtzeitzugriff für Kunden führt bei einem großen Telekommunikationsanbieter zur Verarbeitung Hunderter Terabyte an Daten.
Welche Unterstützung bietet HPE für MapReduce?
HPE bietet mehrere Lösungen an, mit denen Sie Zeit, Geld und Mitarbeiterressourcen für die Verwaltung von Hadoop-Systemen mit MapReduce einsparen können.
Beispielsweise bieten die HPE Pointnext Services Beratung und technische Hilfestellung für Planung, Design und Integration Ihrer Big Data-Analyseumgebung an. Sie vereinfachen die Entwicklung und Implementierung von Hadoop und MapReduce, sodass Sie sich darauf konzentrieren können, Analyse-Erkenntnisse für fundierte Entscheidungen zu gewinnen.
Darüber hinaus bietet HPE GreenLake eine skalierbare Lösung, die den gesamten Hadoop-Lebenszyklus erheblich vereinfacht. Es handelt sich um eine End-to-End-Lösung mit der benötigten Hardware und Software sowie Unterstützung für symmetrische und asymmetrische Umgebungen. Mit der einzigartigen Preis- und Abrechnungsmethode von HPE ist es einfacher, Ihre bestehenden Hadoop-Kosten zu verstehen und zukünftige Kosten im Zusammenhang mit Ihrer Lösung besser vorherzusagen.
Basierend auf der langjährigen Erfahrung bei der Betreuung von Kunden mit Hadoop-Umgebungen hat HPE zwei Editionen einer getesteten und implementierungsfähigen Hadoop-Lösung der Enterprise-Klasse entwickelt. Diese werden ergänzt durch das HPE Insight Cluster Management Utility, das es IT-I&O-Verantwortlichen ermöglicht, ihre Infrastruktur und die Auswahl an Hadoop-Implementierungen schnell bereitzustellen, zu verwalten und zu überwachen. Die HPE Enterprise-Lösung Hadoop Standard Edition kann in der HPE GreenLake Lösung unterstützt werden.