Zuhause Cloud Computing Was ist Mapreduce? - Definition aus techopedia

Was ist Mapreduce? - Definition aus techopedia

Inhaltsverzeichnis:

Anonim

Definition - Was bedeutet MapReduce?

MapReduce ist ein von Google eingeführtes Programmiermodell zur Verarbeitung und Generierung großer Datenmengen auf Computerclustern.

Google formulierte zunächst das Framework für die Bereitstellung der Webseitenindexierung von Google. Das neue Framework ersetzte frühere Indexierungsalgorithmen. Anfänger finden das MapReduce-Framework von Vorteil, da mit Bibliotheksroutinen parallele Programme erstellt werden können, ohne sich Gedanken über die Kommunikation zwischen Clustern, die Überwachung von Aufgaben oder die Fehlerbehandlung zu machen.

MapReduce läuft auf einem großen Cluster von Standardcomputern und ist hochgradig skalierbar. Es gibt verschiedene Implementierungsformen, die von mehreren Programmiersprachen wie Java, C # und C ++ bereitgestellt werden.

Techopedia erklärt MapReduce

Das MapReduce-Framework besteht aus zwei Teilen:

  1. Eine Funktion namens "Map", mit der verschiedene Punkte des verteilten Clusters ihre Arbeit verteilen können
  2. Eine Funktion namens "Reduzieren", mit der die endgültige Form der Clusterergebnisse in einer Ausgabe reduziert werden soll

Der Hauptvorteil des MapReduce-Frameworks ist seine Fehlertoleranz, bei der regelmäßige Berichte von jedem Knoten im Cluster erwartet werden, wenn die Arbeit abgeschlossen ist.

Eine Aufgabe wird von einem Knoten auf einen anderen übertragen. Wenn der Masterknoten feststellt, dass ein Knoten länger als erwartet still war, führt der Hauptknoten den Neuzuweisungsprozess für die eingefrorene / verzögerte Task aus.

Das MapReduce-Framework ist von den Funktionen "Map" und "Reduce" inspiriert, die bei der funktionalen Programmierung verwendet werden. Die rechnergestützte Verarbeitung erfolgt für Daten, die in einem Dateisystem oder in einer Datenbank gespeichert sind, die einen Satz von Eingabeschlüsselwerten verwendet und einen Satz von Ausgabeschlüsselwerten erzeugt.

Täglich werden zahlreiche MapReduce-Programme und MapReduce-Jobs in den Clustern von Google ausgeführt. Programme werden automatisch parallelisiert und auf einer großen Anzahl von Warenmaschinen ausgeführt. Das Laufzeitsystem übernimmt die Partitionierung der Eingabedaten, die Planung der Programmausführung für mehrere Maschinen, die Behandlung von Maschinenfehlern und die Verwaltung der erforderlichen Maschinenkommunikation. Programmierer ohne Erfahrung mit parallelen und verteilten Systemen können problemlos die Ressourcen eines großen verteilten Systems nutzen.

MapReduce wird für verteiltes Grep, verteiltes Sortieren, Umkehrung von Weblink-Diagrammen, Webzugriffsprotokollstatistiken, Dokumentenclustering, maschinelles Lernen und statistische maschinelle Übersetzung verwendet.

Was ist Mapreduce? - Definition aus techopedia