Video: Charity-Challenge: 1.000 Plätzchen backen für Obdachlose || „Das schaffst du nie!” 2024
MapReduce ist ein Programmierparadigma, das entwickelt wurde, um eine parallele verteilte Verarbeitung von großen Gruppen von Daten, konvertieren sie in Sätze von Tupeln, und dann kombinieren und reduzieren diese Tupel in kleinere Gruppen von Tupeln. In Anlehnung an Laien wurde MapReduce entwickelt, um Big Data aufzunehmen und paralleles verteiltes Computing zu verwenden, um große Daten in Daten kleiner oder normaler Größe umzuwandeln.
Parallele verteilte Verarbeitung bezieht sich auf ein leistungsfähiges Framework, in dem große Datenmengen sehr schnell verarbeitet werden, indem Verarbeitungsaufgaben über Cluster von Commodity-Servern verteilt werden. In Bezug auf MapReduce beziehen sich Tupel auf Schlüssel / Wert-Paare, mit denen Daten gruppiert, sortiert und verarbeitet werden.
MapReduce-Jobs funktionieren über eine Karte und reduzieren die Prozessoperationssequenzen über einen verteilten Satz von Servern. In der -Kartenaufgabe delegieren Sie Ihre Daten an Schlüssel / Wert-Paare, transformieren sie und filtern sie. Dann ordnen Sie die Daten zur Verarbeitung den Knoten zu.
In der Reduzierungsaufgabe aggregieren Sie diese Daten zu kleineren Datasets. Daten aus dem Reduktionsschritt werden in ein Standard-Schlüsselwertformat umgewandelt - wobei der Schlüssel als Datensatzkennung dient und der Wert der identifizierte Wert ist durch den Schlüssel. Die Rechenknoten der Cluster verarbeiten die Karte und reduzieren Aufgaben, die vom Benutzer definiert werden. Diese Arbeit wird in den folgenden zwei Schritten ausgeführt:
-
Ordnen Sie die Daten zu.
Die eingehenden Daten müssen zuerst in Schlüssel-Wert-Paare delegiert und in Fragmente aufgeteilt werden, die dann den Aufgaben zugewiesen werden. Jedem Rechencluster - einer Gruppe von Knoten, die miteinander verbunden sind und eine gemeinsam genutzte Rechenaufgabe ausführen - wird eine Anzahl von Kartenaufgaben zugewiesen, die anschließend unter ihren Knoten verteilt werden.
Bei der Verarbeitung der Schlüssel-Wert-Paare werden Zwischenschlüssel-Wert-Paare erzeugt. Die Schlüssel-Wert-Paare werden nach ihren Schlüsselwerten sortiert, und diese Liste wird in einen neuen Satz von Fragmenten unterteilt. Was auch immer Sie für diese neuen Fragmente zählen, es wird dasselbe sein wie die Anzahl der Reduktionsaufgaben.
-
Reduzieren Sie die Daten.
Jeder Reduce-Aufgabe ist ein Fragment zugewiesen. Die Reduktionsaufgabe verarbeitet einfach das Fragment und erzeugt eine Ausgabe, die ebenfalls ein Schlüssel-Wert-Paar ist. Reduzierungsaufgaben werden auch auf die verschiedenen Knoten des Clusters verteilt. Nachdem die Aufgabe abgeschlossen ist, wird die endgültige Ausgabe in ein Dateisystem geschrieben.
Kurz gesagt, Sie können schnell und effizient auf ein großes Volumen, eine große Geschwindigkeit und eine Vielzahl von Daten zugreifen, indem Sie Karten verwenden und Aufgaben reduzieren, um Ihre Daten mit (Schlüssel-, Wert-) Paaren zu markieren und dann zu reduzieren. diese paaren sich durch Aggregationsoperationen in kleinere Datensätze - Operationen, die mehrere Werte aus einem Datensatz in einen einzigen Wert zusammenfassen.Ein Diagramm der MapReduce-Architektur finden Sie hier.
Wenn Ihre Daten nicht über Schlüssel, Werte und Aggregation gekennzeichnet und verarbeitet werden können, ist die Zuordnung und Reduzierung von im Allgemeinen für Ihre Anforderungen nicht geeignet.
Wenn Sie MapReduce als Teil einer Hadoop-Lösung verwenden, wird die endgültige Ausgabe in das Hadoop Distributed File System (HDFS) geschrieben. HDFS ist ein Dateisystem, das Cluster von Commodity-Servern enthält, auf denen Big Data gespeichert werden. HDFS macht die Verwaltung und Speicherung von Big Data finanziell möglich, indem Speicheraufgaben über Cluster von billigen Commodity-Servern verteilt werden.