Definition

Was ist MapReduce?

| Autor / Redakteur: Tutanch / Nico Litzel

(Bild: © aga7ta - stock.adobe.com)

Bei MapReduce handelt es sich um ein von Google entwickeltes Verfahren, mit dem sich große strukturierte oder unstrukturierte Datenmengen mit hoher Geschwindigkeit verarbeiten lassen. MapReduce nutzt die Parallelisierung von Aufgaben und deren Verteilung auf mehrere Systeme.

Ursprüngliche wurde das MapReduce-Verfahren 2004 von Google für die Indexierung von Webseiten entwickelt. MapReduce ist patentiert und kann als Framework für Datenbanken verwendet werden. Das Framework eignet sich sehr gut für die Verarbeitung von großen Datenmengen (bis zu mehreren Petabytes), wie sie im Big-Data-Umfeld auftreten.

Die Daten können sowohl strukturiert als auch unstrukturiert sein. Da bei großen Datenmengen einzelne Prozesse oder Rechner schnell an ihre Grenzen stoßen, parallelisiert MapReduce die Bearbeitung durch die Verteilung auf mehrere gleichzeitig auszuführende Tasks. Das MapReduce-Framework sorgt für die Verteilung der Aufgaben auf unterschiedliche Rechner oder Cluster und aggregiert anschließend die Ergebnisse. Das Verfahren arbeitet fehlertolerant und kann Aufgaben bei Problemen mit einzelnen Rechnern neu verteilen. Programmierer, die MapReduce anwenden, müssen sich nicht um die Fehlerbehandlung, die Aufgabenüberwachung oder die Cluster-Kommunikation kümmern.

MapReduce wird häufig im Big-Data-Umfeld für beispielsweise Finanzanalysen, wissenschaftliche Simulationen oder das Data Mining verwendet. Es existiert eine ganze Reihe von Implementierungen des MapReduce-Verfahrens in Programmiersprachen wie Java, C++, Perl, Python oder Ruby.

Die beiden Grundfunktionen Map und Reduce

Die Grundfunktionen des MapReduce-Ansatzes bilden die beiden Funktionen Map und Reduce. Sie sorgen für die Zerlegung der Aufgaben in kleine parallelisierte Arbeitspakete und führen die Ergebnisse anschließend zusammen. Damit lassen sich die typischen Probleme, die klassische relationale Datenbanken mit der Verarbeitung von großen unstrukturierten Datenmengen haben, beseitigen.

Map stellt die Funktion dar, die die Aufgaben an die unterschiedlichen Knoten eines Clusters verteilt. Die Reduce-Funktion sortiert die berechneten Ergebnisse und fügt sie wieder zusammen.

Beispiele für MapReduce im Big-Data-Umfeld

MapReduce ist weit verbreitet und kommt immer dann zum Einsatz, wenn große Datenmengen möglichst schnell zu verarbeiten sind. Es existiert eine Vielzahl von Beispielen für die Verwendung von MapReduce. Google nutzte das Verfahren sehr lange für die Indexierung der Webseiten bei der Google-Suche, ist aber inzwischen auf noch leistungsfähigere Algorithmen umgestiegen. Auch im Google-News-Umfeld kam MapReduce zum Einsatz. Ein weiterer Suchmaschinenanbieter der MapReduce für den Index-Aufbau nutzt ist Yahoo. Viele E-Mail-Provider setzen MapReduce bei der Spam-Erkennung von E-Mails ein.

Ebenfalls Anwender von MapReduce ist Facebook. Bereiche in denen Facebook das Verfahren nutzt, sind zum Beispiel das Data Mining, die Optimierung von Ads oder die Spam-Erkennung. Amazon verwendet MapReduce-Verfahren unter anderem für das Clustering von Produkten.

Die Vor- und Nachteile von MapReduce

Gegenüber den klassischen Verfahren der Datenverarbeitung, wie sie in relationalen Datenbanken zum Einsatz kommen, bietet MapReduce eine ganze Reihe an Vorteilen. MapReduce lässt sich auf normalen Rechnern mit handelsüblicher Software ausführen und benötigt keine Highend-Server. Ein Cluster-Verbund für die parallele Datenverarbeitung kann bei Bedarf ohne spezielle Server realisiert werden. Dadurch ist MapReduce kostengünstig nutzbar. Gleichzeitig skaliert das Verfahren sehr gut, da sich die Aufgaben auf beliebig viele Knoten verteilen lassen.

Durch die parallelisierte Verarbeitung ist MapReduce sehr schnell und wesentlich performanter als die Datenverarbeitung in relationalen Datenbanken. Ein Nachteil kann durch die Vernetzung der einzelnen Knoten entstehen. Unter Umständen stellt das Netzwerk und seine Übertragungskapazität einen Flaschenhals für das komplette System dar.

Kurze Gegenüberstellung von MapReduce und relational arbeitenden Datenbanksystemen

Lange Zeit dominierten relationale Datenbanksysteme das Speichern und Verarbeiten von Daten. Sie sind geeignet für gezielte Abfragen und Veränderungen eines strukturierten und normalisierten Datenbestands. Ihre Skalierung ist nichtlinear und die Antwortzeiten für Abfragen steigen überproportional mit der Größe der Datenbank. Das MapReduce-Konzept verarbeitet Daten parallel als Streams und besitzt eine lineare Skalierung. Es eignet sich sehr gut für die Batch-Verarbeitung von großen unstrukturierten, semi-strukturierten und nicht-normalisierten Daten.

Hadoop als Implementierung des MapReduce-Konzepts

Für das MapReduce-Konzept existieren viele Implementierungen. Eine der erfolgreichsten und am weitesten verbreitete Implementierung ist Hadoop. Es handelt sich bei Hadoop um ein Software-Framework, das auf Java basiert und für die Bewältigung der Datenverarbeitung im Big-Data-Umfeld eingesetzt wird. Hadoop ist ein Top-Level-Projekt der Apache Software Foundation und der Quellcode ist frei verfügbar. Das Software-Framework ist für skalierbare, verteilt arbeitende Systeme vorgesehen und auf unterschiedlicher Hardware betreibbar.

Wesentliche Bestandteile von Hadoop sind neben dem MapReduce-Verfahren das Hadoop Distributed File System (HDFS) und der Yet Another Resource Negotiator (YARN). Bei HDFS handelt es sich um ein verteiltes Dateisystem für das Speichern von Daten in einem Rechnerverbund. Eine Ergänzung zum MapReduce-Verfahren bildet YARN. YARN kann die Ressourcen eines Rechnerverbunds managen und sie dynamisch den verschiedenen Jobs zuordnen. Die Kapazitäten der Systeme werden von YARN über Queues festgelegt.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

So funktioniert Datenauswertung in Echtzeit

Realtime Analytics

So funktioniert Datenauswertung in Echtzeit

Prozesse, Endgeräte, Sensoren und Maschinen liefern laufend Logfiles, Sensor- und Betriebsdaten, Transaktionsdaten, die sich korrelieren und auswerten lassen – in Echtzeit. Doch „Echtzeit“ muss nicht unbedingt „ohne Verzug“ bedeuten, sondern lediglich in ausreichender Schnelligkeit für den jeweiligen IT-Benutzer, also vielmehr „rechtzeitig“. Daher befasst sich Realtime Analytics nicht nur mit Streaming-Daten, sondern auch mit viel „langsameren“ Datenlieferungen. lesen

So funktioniert R-Server für HDInsight

Big Data und Microsoft Azure

So funktioniert R-Server für HDInsight

R-Server für HDInsight ist eine horizontal skalierbare Implementierung von R, die sich direkt in Microsoft Azure HDInsight implementieren lässt. R ist Open Source und wird komplett in der Cloud ausgeführt lesen

Die Grenzen manuellen Codierens im Big-Data-Zeitalter

Kommentar von Otto Neuer, Talend

Die Grenzen manuellen Codierens im Big-Data-Zeitalter

Unternehmen müssen sich in Zeiten von Big Data immer häufiger damit auseinandersetzen, welche Maßnahmen sie ergreifen können oder wollen, um der Datenflut Herr zu werden. Meistens haben sie zwei Optionen: Sich für manuelles Codieren oder für eine Standardlösung entscheiden. Unternehmen, die in-house entwickeln, können vielleicht kurzfristig Kosten einsparen, jedoch setzen sie sich langfristig einem höheren Risiko aus. lesen

Talend erweitert Schulungsangebot für Big-Data-Experten

Maschinelles Lernen und Datenqualität

Talend erweitert Schulungsangebot für Big-Data-Experten

Ab sofort bietet Talend, Spezialist für Cloud- und Big-Data-Integrationslösungen, neue Kurse auf Basis seiner Datenintegrationsplattform an. Die Schulungen richten sich an Big-Data-Fachpersonal. lesen

So funktionieren Analysen mit Jedox und Hive on Spark

Projektbericht

So funktionieren Analysen mit Jedox und Hive on Spark

Die Auswertung riesiger Datenbestände durch den Fachanwender wird immer wichtiger. Der Großteil der Business-Intelligence-Lösungen tut sich aber noch schwer damit. Aus diesem Grund haben wir die BI-Plattform Jedox mit Hive on Spark kombiniert. Damit lassen sich riesige Datenmengen komfortabel in einer Software bearbeiten und analysieren – auch durch IT-fremde Fachanwender wie Controller. lesen

„Spark ist eine Technologie, die wie Linux und Java alles durchdringt“

Interview mit Vijay Bommireddipalli, IBM

„Spark ist eine Technologie, die wie Linux und Java alles durchdringt“

Apache Spark, ein Framework für die Verarbeitung von Big Data, ist mittlerweile das aktivste Projekt in der Open Source Community. Im Juni 2015 gründete IBM in San Francisco ein eigenes Technologiezentrum (TC) für Apache Spark. BigData-Insider hatte die Gelegenheit, ein Interview mit Vijay Bommireddipalli zu führen, dem Leiter des IBM Spark Technology Center. lesen

„Open Source verhindert Abhängigkeiten“

Interview mit dem Hadoop-Pionier Doug Cutting

„Open Source verhindert Abhängigkeiten“

Vor etwas mehr als zehn Jahren war Doug Cutting maßgeblich an der Entwicklung von Hadoop beteiligt, heute ist er Chief Architect bei Cloudera. Der Big-Data-Experte gibt im Interview einen Ausblick auf die aus seiner Sicht wichtigsten Open-Source- und Big-Data-Themen 2017. lesen

5 Schritte, mit denen Sie Ihren Hadoop Cluster sicherer machen

Schutz vor Ransomware

5 Schritte, mit denen Sie Ihren Hadoop Cluster sicherer machen

Hadoop-Anwender müssen sich derzeit vor Hacker-Angriffen in Acht nehmen: Laut den Sicherheitsforschern von Threat Geek werden Nutzer von Hadoop-Distributed-File-System-Installationen (HDFS) angegriffen. Die Kriminellen „leeren“ die Hadoop-Datenbank und bieten dann den Opfern an, die gestohlenen Daten gegen Zahlung eines Lösegeldes wieder herauszugeben. Von solchen Angriffen dürften weltweit 8.000 bis 10.000 HDFS-Installationen betroffen sein. lesen

So analysieren Sie Daten mit Spark, Mesos, Akka, Cassandra und Kafka

SMACK Stack

So analysieren Sie Daten mit Spark, Mesos, Akka, Cassandra und Kafka

Bei SMACK handelt es sich um eine Big-Data-Plattform, die Spark, Mesos, Akka, Cassandra und Kafka miteinander kombiniert. Der Vorteil dieser Kombination liegt im Zusammenspiel der verschiedenen Werkzeuge zu einer idealen Analyse. Dabei werden die Stärken der eingesetzten Tools genutzt, die Schwächen durch die anderen Tools ausgeglichen. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44787600 / Definitionen)