Różnica między MapReduce a Spark

Map Reduce to platforma typu open source do zapisywania danych w HDFS i przetwarzania ustrukturyzowanych i nieustrukturyzowanych danych obecnych w HDFS. Map Reduce ogranicza się do przetwarzania wsadowego, a na innym Spark może przetwarzać dowolny rodzaj przetwarzania. SPARK to niezależny silnik przetwarzania do przetwarzania w czasie rzeczywistym, który można zainstalować w dowolnym systemie plików rozproszonych, takim jak Hadoop. SPARK zapewnia wydajność 10 razy większą niż Map Reduce na dysku i 100 razy szybszą niż Map Reduce w sieci w pamięci.

Need For SPARK

  • Iterative Analytics: Redukcja mapy nie jest tak skuteczna jak SPARK do rozwiązywania problemów wymagających iteracyjnej analizy, ponieważ musi przejść na dysk dla każdej iteracji.
  • Interaktywna analiza: redukcja mapy jest często używana do uruchamiania zapytań ad-hoc, w przypadku których musi ona dotrzeć do pamięci na dysku, która znowu nie jest tak wydajna jak SPARK, ponieważ ta ostatnia odwołuje się do szybszej pamięci.
  • Nie nadaje się do OLTP: ponieważ działa na frameworku zorientowanym na partie, nie nadaje się do dużej liczby krótkich transakcji.
  • Nieodpowiednie dla wykresu: Biblioteka wykresów Apache przetwarza wykres, co zwiększa złożoność mapy.
  • Nie nadaje się do trywialnych operacji: w przypadku operacji takich jak filtr i sprzężenia konieczne może być przepisanie zadań, które stają się bardziej złożone z powodu wzorca klucz-wartość.

Bezpośrednie porównanie między MapReduce a Spark (infografiki)

Poniżej znajduje się 15 najlepszych różnic między MapReduce i Spark

Kluczowe różnice między MapReduce a Spark

Poniżej znajdują się listy punktów, opisz kluczowe różnice między MapReduce i Spark:

  • Spark jest odpowiedni do pracy w czasie rzeczywistym, ponieważ przetwarza za pomocą pamięci, natomiast MapReduce ogranicza się do przetwarzania wsadowego.
  • Spark ma RDD (Resilient Distributed Dataset), co daje nam operatorów wysokiego poziomu, ale w Map Red potrzebujemy kodować każdą operację, co czyni ją stosunkowo trudną.
  • Spark może przetwarzać wykresy i obsługuje narzędzie Uczenie maszynowe.
  • Poniżej znajduje się różnica między ekosystemem MapReduce a Spark.

Przykład, w którym odpowiednie są MapReduce vs. Spark, jest następujący

Spark: wykrywanie oszustw związanych z kartami kredytowymi

MapReduce: sporządzanie regularnych raportów wymagających podejmowania decyzji.

MapReduce vs. Spark Tabela porównawcza

Podstawa porównaniaMapReduceIskra
StrukturaStruktura open source do zapisywania danych w HDFS i przetwarzania danych strukturalnych i nieustrukturyzowanych obecnych w HDFS.Struktura open source do szybszego przetwarzania danych ogólnego przeznaczenia
PrędkośćMap-Reduce przetwarza dane (odczytuje i zapisuje) z dysku, dzięki czemu wyciek jest powolny w porównaniu do Spark.

Spark jest co najmniej 10 razy szybszy na dysku i 100 razy szybszy w pamięci niż w Map Reduce.
TrudnośćMusimy kodować / obsługiwać każdy proces.Dzięki dostępności RDD (Resilient Distributed Dataset) programowanie jest łatwe.
Czas rzeczywistyNie nadaje się do transakcji OLTP tylko w trybie wsadowymMoże obsługiwać przetwarzanie w czasie rzeczywistym. Korzystanie ze strumieniowania SPARK.
Czas oczekiwaniaWysokopoziomowe ramy obliczeniowe opóźnieńNiskopoziomowe środowisko obliczeniowe opóźnień.
Odporność na awarieDemony nadrzędne sprawdzają bicie serca demonów podrzędnych, aw przypadku awarii demonów podrzędnych demony nadrzędne ponownie rozkładają wszystkie oczekujące i trwające operacje na inne urządzenia podrzędne.RDD zapewniają SPARK odporność na uszkodzenia. Odnoszą się do zestawu danych obecnych w pamięci zewnętrznej, takich jak (HDFS, HBase) i działają równolegle.
PlanistaW Map Reduce korzystamy z zewnętrznego harmonogramu, takiego jak Oozie.Ponieważ SPARK działa z obliczeniami w pamięci, działa jak własny harmonogram.
KosztMapa Reduce jest stosunkowo tańsza w porównaniu do SPARK.Ponieważ działa w pamięci, wymaga dużo pamięci RAM, co czyni go stosunkowo droższym.
Platforma opracowana naMap Reduce został opracowany przy użyciu Java.SPARK został opracowany przy użyciu Scali.
Obsługiwany językMap Reduce w zasadzie obsługuje C, C ++, Ruby, Groovy, Perl, Python.Spark obsługuje Scala, Java, Python, R, SQL.
Wsparcie SQLMap Reduce uruchamia zapytania za pomocą Hive Query Language.Spark ma swój własny język zapytań znany jako Spark SQL.
SkalowalnośćW Map Reduce możemy dodać do n liczby węzłów. Największy klaster Hadoop ma 14000 węzłów.W Spark również możemy dodać n liczbę węzłów. Największy klaster Spark ma 8000 węzłów.
Nauczanie maszynoweMap Reduce obsługuje narzędzie Apache Mahout do uczenia maszynowego.Spark obsługuje narzędzie MLlib do uczenia maszynowego.
BuforowanieRedukcja mapy nie jest w stanie buforować danych w pamięci, więc nie jest tak szybka jak w przypadku Spark.Spark buforuje dane w pamięci do dalszych iteracji, dzięki czemu jest bardzo szybki w porównaniu z Map Reduce.
BezpieczeństwoMap Reduce obsługuje więcej projektów i funkcji bezpieczeństwa w porównaniu do SparkBezpieczeństwo Spark nie jest jeszcze dojrzałe jak w Map Reduce

Wniosek - MapReduce vs Spark

Jak wynika z powyższej Różnicy między MapReduce i Spark, jest całkiem jasne, że SPARK jest znacznie bardziej zaawansowanym silnikiem obliczeniowym w porównaniu do Map Reduce. Spark jest kompatybilny z każdym rodzajem formatu pliku, a także znacznie szybszy niż Map Reduce. Iskra dodatkowo ma również możliwości przetwarzania wykresów i uczenia maszynowego.

Z jednej strony Map Reduce ogranicza się do przetwarzania wsadowego, a z drugiej strony Spark może przetwarzać dowolny rodzaj przetwarzania (wsadowy, interaktywny, iteracyjny, streaming, wykres). Ze względu na dużą kompatybilność Spark jest ulubieńcem Data Scientist, dlatego zastępuje Map Reduce i szybko rośnie. Ale nadal musimy przechowywać dane w HDFS, a także czasami potrzebujemy HBase. Musimy więc uruchomić zarówno Spark, jak i Hadoop, aby uzyskać to, co najlepsze.

Polecane artykuły:

Jest to przewodnik po MapReduce vs Spark, 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. 7 ważnych rzeczy na temat Apache Spark (przewodnik)
  2. Hadoop vs Apache Spark - ciekawe rzeczy, które musisz wiedzieć
  3. Apache Hadoop vs Apache Spark | 10 najlepszych porównań, które musisz znać!
  4. Jak działa MapReduce?
  5. Zbieżność technologii i analityki biznesowej

Kategoria: