Unterschied zwischen Hadoop und MapReduce

Die Wurzeln von Hadoop reichen zurück bis in das Jahr 2002, als Dough Cutting an einem Open-Source-Projekt namens Nutch arbeitete (das zur Indexierung der Webseiten und zur Verwendung der indexierten Webseiten für die Suche verwendet wurde, genau wie Google). Er hatte Probleme mit der Skalierbarkeit in Bezug auf Speicher und Computer. 2003 veröffentlichte Google GFS (Google File System) und 2004 erstellte Nutch NDFS (Nutch Distributed File System). Nachdem Google MapReduce als ihr rechnerisches Gehirn für ihre Sortieralgorithmen angekündigt hatte, war Dough in der Lage, Nutch auf NDFS auszuführen und verwendete MapReduce im Jahr 2005 und im Jahr 2006, als Hadoop geboren wurde.

Hadoop und MapReduce! Hadoop ist ein Ökosystem von Open-Source-Projekten wie Hadoop Common, Hadoop Distributed File System (HDFS), Hadoop YARN und Hadoop MapReduce. Hadoop als solches ist ein Open-Source-Framework zum Speichern und Verarbeiten großer Datenmengen. Die Speicherung erfolgt durch HDFS und die Verarbeitung durch MapReduce. MapReduce hingegen ist ein Programmiermodell, mit dem Sie große Datenmengen verarbeiten können, die in Hadoop gespeichert sind. Lassen Sie uns Hadoop und MapReduce in diesem Beitrag im Detail verstehen.

Head to Head Vergleich zwischen Hadoop und MapReduce (Infografik)

Unten ist die Top 5 Vergleich zwischen Hadoop vs MapReduce

Hauptunterschiede zwischen Hadoop und MapReduce

Das Folgende ist der Unterschied zwischen Hadoop und MapReduce

  • Wenn wir Hadoop und MapReduce in Laienbegriffen unterscheiden wollen, können wir sagen, dass Hadoop wie ein Auto ist, in dem Sie alles haben, was Sie für Entfernungen benötigen, aber MapReduce ist wie der Motor des Autos. nicht vorhanden, aber das Äußere des Fahrzeugs kann sich ändern (andere DFS (Distributed File Systems)).
  • Die Grundidee hinter Hadoop ist, dass die Daten zuverlässig und skalierbar sein müssen, zuverlässig, da sie im Katastrophenfall oder bei einem Netzwerkausfall jederzeit verfügbar sein müssen. Dies wird durch das Hadoop-Framework mithilfe von Namensknoten und Datenknoten erreicht.
  • Grundlegende Vorstellung von Datenknoten und Namensknoten

  • Die Grundidee hinter der Architektur des Datenknotens und des Namensknotens ist die Master / Slave-Architektur, bei der einer den Speicherort der Daten (Name Node) und der andere die Daten selbst speichert (Data Node). Die Daten werden in Blöcke von 64 MB aufgeteilt und in den Datenblöcken gespeichert, und die Registrierung von diesen wird auf dem Namensknoten verwaltet. Die Daten werden aus Gründen der Zuverlässigkeit standardmäßig dreimal repliziert. Apropos Skalierbarkeit: Die Hardware kann unterwegs erweitert werden. Dies trägt dazu bei, den Speicherplatz zu erhöhen und das System skalierbar zu machen.
  • Bei MapReduce gibt es drei Phasen
    1. Kartenphase
    2. Shuffle Phase
    3. Phase reduzieren

Nehmen wir ein Beispiel, um es besser zu verstehen. MapReduce ist ein Programmierframework mit einem Hallo-Welt-Programm, das in MapReduce jedoch als Wortzahlprogramm bezeichnet wird.

Das Word Count-Programm gibt uns die Schlüssel-Wert-Paare des Wortes und seine Häufigkeit in einem Absatz / Artikel oder einer beliebigen Datenquelle an. Um es leicht verstehen zu können, nehmen wir die folgenden Daten als Beispiel.

Wie wir sehen können, haben wir im Datensatz drei Wörter: Bus, Auto und Zug. Die Spalte Input enthält die Daten, die wir im Datensatz haben, die Spalte Output enthält die Daten in der Zwischenstufe, in der das Mischen stattfinden wird.

Hier nehmen wir den Teiler als Komma (, ), um die Wörter zu teilen. Der Splitter kann ein Komma oder ein Leerzeichen oder eine neue Zeile usw. sein.

EingangDatenmengecaR, AUTO, Auto, BUS, ZUG, Bus, Zug, Bus, ZUG, BUS, buS, Auto, Bus, Auto, Zug, Auto, Bus, Auto
AusgabeIn einen anderen Datensatz konvertieren

(Schlüsselwert)

(Bus, 1), (Auto, 1), (Bus, 1), (Auto, 1), (Zug, 1),

(Auto, 1), (Bus, 1), (Auto, 1), (Zug, 1), (Bus, 1),

(ZUG, 1), (BUS, 1), (buS, 1), (caR, 1), (AUTO, 1),

(Auto, 1), (BUS, 1), (ZUG, 1)

Die Ausgabe der obigen Zwischenstufe wird an den Reduzierer übergeben und unten ist die endgültige Ausgabe des Programms.

Eingang

(Ausgabe der Kartenfunktion)

Satz von Tuples(Bus, 1), (Auto, 1), (Bus, 1), (Auto, 1), (Zug, 1),

(Auto, 1), (Bus, 1), (Auto, 1), (Zug, 1), (Bus, 1),

(ZUG, 1), (BUS, 1), (buS, 1), (caR, 1), (AUTO, 1),

(Auto, 1), (BUS, 1), (ZUG, 1)

AusgabeKonvertiert in eine kleinere Menge von Tupeln(BUS, 7)

(CAR, 7)

(ZUG, 4)

  • Einer der Hauptunterschiede von Hadoop zu anderen Big Data Processing Frameworks ist, dass Hadoop den Code (MapReduce-Code) an die Cluster sendet, in denen die Daten gespeichert sind, anstatt die Daten an den Code zu senden, wie die Datensätze in TBs oder manchmal in PBs Es wird eine mühsame Aufgabe sein.

Hadoop vs MapReduce Vergleichstabelle

Grundlage für den VergleichHadoopKarte verkleinern

Bedeutung

Der Name "Hadoop" war der Name des Spielzeugelefanten von Doug Cutting Sohn. Er nannte dieses Projekt „Hadoop“, da es leicht auszusprechen war.Der Name "MapReduce" entstand aufgrund der eigentlichen Funktionalität des Abbildens und Reduzierens von Schlüssel-Wert-Paaren.

Konzept

Der Apache Hadoop ist ein Ökosystem, das eine zuverlässige, skalierbare und für verteiltes Computing bereite Umgebung bietet.MapReduce ist ein Submodul dieses Projekts, das ein Programmiermodell ist und zur Verarbeitung großer Datenmengen verwendet wird, die auf HDFS (Hadoop Distributed File System) gespeichert sind.

Voraussetzungen

Hadoop läuft auf implementiertem HDFS (Hadoop Distributed File System)MapReduce kann auf HDFS / GFS / NDFS oder einem anderen verteilten Dateisystem wie MapR-FS ausgeführt werden

Sprache

Hadoop ist eine Sammlung aller Module und kann daher auch andere Programmier- / Skriptsprachen enthaltenMapReduce ist grundsätzlich in der Programmiersprache Java geschrieben

Rahmen

Hadoop verfügt nicht nur über ein Speicherframework, in dem die Daten gespeichert werden, sondern auch über andere Frameworks, einschließlich MapReduce.MapReduce ist ein Programmierframework, das zum Sortieren / Verarbeiten der Daten Schlüssel- und Wertzuordnungen verwendet

Die folgende Abbildung hilft dabei, MapReduce von Hadoop zu unterscheiden.

MapReduce Framework

  • Wie aus dem obigen Bild ersichtlich, ist MapReduce ein verteiltes Verarbeitungsframework, während Hadoop eine Sammlung aller Frameworks ist.

Fazit - Hadoop vs MapReduce

Hadoop als Open Source wurde immer beliebter, da es kostenlos verwendet werden konnte und die Programmierer den Code nach ihren Bedürfnissen ändern können. Das Hadoop-Ökosystem wurde in den letzten Jahren kontinuierlich weiterentwickelt, um das Ökosystem so fehlerfrei wie möglich zu gestalten.

Mit den sich ständig ändernden Anforderungen der Welt ändert sich die Technologie schnell und es wird schwierig, den Überblick über die Änderungen zu behalten. Die Daten, die in einem Monat generiert werden, verdoppeln / verdreifachen sich beim Lesen dieses Artikels. Die Notwendigkeit einer schnelleren Verarbeitung von Datensätzen führte zu vielen anderen Programmierframeworks wie MapReduce 2, Spark usw.

Empfohlene Artikel

Dies war eine Anleitung zu Hadoop vs MapReduce, deren Bedeutung, Kopf-an-Kopf-Vergleich, Hauptunterschiede, Vergleichstabelle und Schlussfolgerung. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Unterschied zwischen Hadoop vs Redshift
  2. Finden Sie heraus, die 6 besten Unterschiede zwischen Apache Hadoop und Apache Storm
  3. Vergleiche zwischen Hadoop und SQL
  4. Wissen Sie über MapReduce vs Spark
  5. Hadoop vs Spark: Funktionen
  6. Laravel vs Codeigniter: Funktionen

Kategorie: