Różnica między Hadoop a MapReduce

Korzenie Hadoop sięgają 2002 roku, kiedy Dough Cutting pracował nad projektem open source o nazwie Nutch (który był używany do indeksowania stron internetowych i wykorzystywania indeksowanych stron do wyszukiwania, to samo robi Google). Stawiał czoła problemom skalowalności zarówno pod względem pamięci, jak i komputerów. W 2003 r. Google opublikował GFS (system plików Google), aw 2004 r. Nutch stworzył NDFS (rozproszony system plików Nutch). Po tym, jak Google ogłosił, że MapReduce jest ich mózgiem obliczeniowym stojącym za algorytmami sortowania, Dough był w stanie uruchomić Nutch na NDFS i użył MapReduce w 2005 roku, aw 2006 roku narodził się Hadoop.

Hadoop i MapReduce! Hadoop to ekosystem systemu projektów typu open source, takich jak Hadoop Common, rozproszony system plików Hadoop (HDFS), Hadoop YARN, Hadoop MapReduce. Hadoop jako taki jest platformą open source do przechowywania i przetwarzania ogromnych zbiorów danych. Przechowywanie jest prowadzone przez HDFS, a przetwarzanie jest obsługiwane przez MapReduce. Z drugiej strony MapReduce to model programowania, który pozwala przetwarzać ogromne dane przechowywane w Hadoop. Pozwól nam zrozumieć Hadoop i MapReduce szczegółowo w tym poście.

Bezpośrednie porównanie między mapą Hadoop Vs MapReduce (infografika)

Poniżej znajduje się porównanie 5 najlepszych między Hadoop a MapReduce

Kluczowe różnice między Hadoop a MapReduce

Poniżej przedstawiono różnicę między Hadoop i MapReduce

  • Jeśli chcemy rozróżnić Hadoop i MapReduce w kategoriach laików, możemy powiedzieć, że Hadoop jest jak samochód, w którym masz wszystko, co jest potrzebne do pokonania odległości, ale MapReduce jest jak silnik samochodu, więc bez samochodu silnik może „ Istnieją, ale wygląd zewnętrzny samochodu może ulec zmianie (inne DFS (rozproszone systemy plików)).
  • Podstawową ideą Hadoop jest to, że dane muszą być niezawodne i skalowalne, niezawodne, ponieważ w przypadku awarii lub awarii sieci dane muszą być dostępne przez cały czas, co zostało osiągnięte dzięki platformie Hadoop wykorzystującej węzły nazw i węzły danych.
  • Kilka podstawowych pomysłów dotyczących węzłów danych i nazw

  • Podstawową ideą architektury węzła danych i węzła nazw jest architektura master / slave, w której jeden przechowuje lokalizację danych (węzeł nazwy), a drugi przechowuje same dane (węzeł danych). Dane są dzielone na kawałki o wielkości 64 MB i zapisywane w blokach danych, a ich rejestr jest utrzymywany w węźle nazwy. Dane są replikowane trzykrotnie domyślnie dla zapewnienia niezawodności. Mówiąc o skalowalności, sprzęt można zwiększać w drodze, co pomaga zwiększyć pamięć masową i sprawia, że ​​system jest skalowalny.
  • Teraz w MapReduce są trzy fazy
    1. Faza mapy
    2. Faza losowania
    3. Zmniejsz fazę

Weźmy przykład, aby lepiej to zrozumieć. MapReduce, będący platformą programistyczną, ma również program hello world, ale w MapReduce jest znany jako program do liczenia słów.

Program Word Count podaje nam pary klucz-wartość słowa i jego częstotliwość w akapicie / artykule lub dowolnym źródle danych. Aby łatwo to zrozumieć, weźmy poniżej przykładowe dane.

W zestawie danych, jak widzimy, mamy trzy słowa: autobus, samochód i pociąg. Kolumna o nazwie Dane wejściowe zawiera dane takie, jak w zestawie danych, kolumna Dane wyjściowe zawiera dane na etapie pośrednim, w którym nastąpi tasowanie.

Tutaj bierzemy rozdzielacz jako przecinek (, ), aby podzielić słowa. Rozdzielaczem może być przecinek, spacja lub nowa linia itp.

WejścieZestaw danychcaR, SAMOCHÓD, samochód, AUTOBUS, POCIĄG, autobus, pociąg, autobus, POCIĄG, BUS, buS, Samochód, autobus, samochód, pociąg, samochód, autobus, samochód
WynikKonwertuj na inny zestaw danych

(Kluczowa wartość)

(Autobus, 1), (Samochód, 1), (autobus, 1), (samochód, 1), (pociąg, 1),

(samochód, 1), (autobus, 1), (samochód, 1), (pociąg, 1), (autobus, 1),

(POCIĄG, 1), (BUS, 1), (buS, 1), (caR, 1), (CAR, 1),

(samochód, 1), (BUS, 1), (POCIĄG, 1)

Wyjście z powyższego stopnia pośredniego jest przekazywane do reduktora, a poniżej znajduje się końcowa moc wyjściowa programu.

Wejście

(wyjście funkcji mapy)

Zestaw krotek(Autobus, 1), (Samochód, 1), (autobus, 1), (samochód, 1), (pociąg, 1),

(samochód, 1), (autobus, 1), (samochód, 1), (pociąg, 1), (autobus, 1),

(POCIĄG, 1), (BUS, 1), (buS, 1), (caR, 1), (CAR, 1),

(samochód, 1), (BUS, 1), (POCIĄG, 1)

WynikPrzekształca się w mniejszy zestaw krotek(BUS, 7),

(CAR, 7),

(POCIĄG, 4)

  • Jedną z kluczowych różnic Hadoop z innymi strukturami przetwarzania dużych danych jest to, że Hadoop wysyła kod (kod MapReduce) do klastrów, w których dane są przechowywane, zamiast wysyłać dane do kodu, ponieważ zestawy danych będą w TB lub czasami w PB będzie to uciążliwe zadanie.

Tabela porównawcza Hadoop vs MapReduce

Podstawa do porównaniaHadoopMapReduce

Znaczenie

Imię „Hadoop” było imieniem zabawkowego słonia syna Douga Cuttinga. Nazwał ten projekt „Hadoop”, ponieważ łatwo go było wymówić.Powstała nazwa „MapReduce”, zgodnie z samą funkcją mapowania i zmniejszania par klucz-wartość.

Pojęcie

Apache Hadoop to ekosystem, który zapewnia niezawodne, skalowalne środowisko gotowe do przetwarzania rozproszonego.MapReduce jest submodułem tego projektu, który jest modelem programowania i służy do przetwarzania ogromnych zbiorów danych, które znajdują się na HDFS (rozproszony system plików Hadoop).

Warunki wstępne

Hadoop działa na implementacjach HDFS (Hadoop Distributed File System)MapReduce może działać na HDFS / GFS / NDFS lub dowolnym innym rozproszonym systemie plików, na przykład MapR-FS

Język

Hadoop to zbiór wszystkich modułów, dlatego może zawierać także inne języki programowania / skryptówMapReduce jest zasadniczo napisany w języku programowania Java

Struktura

Hadoop ma nie tylko strukturę pamięci masowej, która przechowuje dane, ale także tworzenie węzłów nazw i węzłów danych, ale także inne struktury, w tym sam MapReduce.MapReduce to platforma programistyczna, która używa kluczowego mapowania wartości do sortowania / przetwarzania danych

Poniższy rysunek pomoże odróżnić MapReduce od Hadoop.

MapReduce Framework

  • Jak widać z powyższego obrazu, MapReduce jest strukturą rozproszonego przetwarzania, podczas gdy Hadoop jest zbiorem wszystkich ram.

Wniosek - Hadoop vs MapReduce

Hadoop jako oprogramowanie open source zyskał popularność, ponieważ był darmowy, a programiści mogą zmieniać kod zgodnie z ich potrzebami. System Eco Hadoop był rozwijany nieprzerwanie przez ostatnie lata, aby system Eco był jak najbardziej wolny od błędów.

Wraz ze stale zmieniającymi się potrzebami na świecie technologia zmienia się szybko i trudno jest śledzić zmiany. Dane, które są generowane w ciągu miesiąca, ulegają podwojeniu / potrojeniu w miarę czytania tego artykułu, a potrzeba szybszego przetwarzania zestawów danych doprowadziła do powstania wielu innych platform programistycznych, takich jak MapReduce 2, Spark itp.

Polecane artykuły

Jest to przewodnik po Hadoop vs MapReduce, ich znaczeniu, porównaniu bezpośrednim, kluczowych różnicach, tabeli porównawczej i wnioskach. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -

  1. Różnica między Hadoop a Redshift
  2. Odkryj 6 najlepszych różnic między Apache Hadoop a Apache Storm
  3. Porównania między Hadoop a SQL
  4. Wiedzieć o MapReduce vs Spark
  5. Hadoop vs Spark: funkcje
  6. Laravel vs Codeigniter: Funkcje

Kategoria: