Co to jest MapReduce?

Framework programistyczny MapReduce służy do przetwarzania rozproszonego i równoległego z dużymi zestawami danych w środowisku rozproszonym. Mapa i Zmniejszenie to dwa odrębne zadania programu do zmniejszania mapy. Na początku w fazie mapy dane są odczytywane i generowane są z nich pary klucz-wartość. Następnie te pary klucz-wartość są wprowadzane do zadania redukującego, które agreguje dane pary klucz-wartość w mniejszy zestaw wartości, które dają końcowy wynik. Dlatego zadanie redukcji jest zawsze realizowane po zakończeniu zadania mapy. Bardzo łatwo jest skalować przetwarzanie danych w wielu węzłach obliczeniowych.

Program obejmuje trzy etapy:

  1. Etap mapy
  2. Shuffle Stage
  3. Zmniejsz etap

Przykład :

Problem z Wordcount

Załóżmy, że poniżej są dane wejściowe:

  • Mike Jon Jake
  • Paul Paul Jake
  • Mike Paul Jon

1. Powyższe dane są podzielone na trzy podziały wejściowe, jak poniżej:

  • Mike Jon Jake
  • Paul Paul Jake
  • Mike Paul Jon

2. Następnie dane te są wprowadzane do następnej fazy zwanej fazą mapowania.

Tak więc dla pierwszego wiersza (Mike Jon Jake) mamy 3 pary klucz-wartość - Mike, 1; Jon 1; Jake, 1.

Poniżej znajduje się wynik w fazie mapowania:

  • Mike, 1
    Jon, 1
    Jake, 1
  • Paweł, 1
    Paweł, 1
    Jake, 1
  • Mike, 1
    Paweł, 1
    Jon, 1

3. Powyższe dane są następnie wprowadzane do następnej fazy zwanej fazą sortowania i tasowania.

W tej fazie dane są grupowane w unikalne klucze i sortowane. Poniżej znajduje się wynik fazy sortowania i tasowania:

  • Jake, (1, 1)
  • Jon, (1, 1)
  • Mike, (1, 1)
  • Paweł, (1, 1, 1)

4. Powyższe dane są następnie wprowadzane do następnej fazy zwanej fazą redukcji.

Tutaj wszystkie kluczowe wartości są agregowane i liczone są liczby 1. Poniżej znajduje się wynik w fazie redukcji:

  • Jake, 2
  • Jon, 2
  • Mike, 2
  • Paweł, 3

Zalety MapReduce:

Tutaj dowiadujemy się o kilku ważnych zaletach programu MapReduce,

1. Skalowalność

Hadoop jako platforma, która jest wysoce skalowalna i wynika głównie z możliwości przechowywania i dystrybucji dużych zestawów danych na wielu serwerach. Serwery używane tutaj są dość tanie i mogą działać równolegle. Moc obliczeniową systemu można poprawić, dodając więcej serwerów. Tradycyjne systemy zarządzania relacyjnymi bazami danych lub RDBMS nie były w stanie skalować w celu przetworzenia ogromnych zestawów danych.

2. Elastyczność

Model programistyczny MapReduce firmy Hadoop oferuje elastyczność w przetwarzaniu struktury lub nieuporządkowanych danych przez różne organizacje biznesowe, które mogą korzystać z danych i mogą operować na różnych typach danych. Dzięki temu mogą generować wartość biznesową z tych danych, które są znaczące i przydatne dla organizacji biznesowych do analizy. Niezależnie od źródła danych, czy będzie to media społecznościowe, strumień kliknięć, e-mail itp. Hadoop oferuje obsługę wielu języków używanych do przetwarzania danych. Oprócz tego, programowanie Hadoop MapReduce pozwala na wiele aplikacji, takich jak analiza marketingowa, system rekomendacji, hurtownia danych i wykrywanie oszustw.

3. Bezpieczeństwo i uwierzytelnianie

Jeśli jakakolwiek osoba z zewnątrz uzyska dostęp do wszystkich danych organizacji i może manipulować wieloma petabajtami danych, może wyrządzić wiele szkody w zakresie prowadzenia działalności gospodarczej przez organizację biznesową. Ryzyko to rozwiązuje model programowania MapReduce, pracując z formatami hdfs i HBase, które zapewniają wysokie bezpieczeństwo, pozwalając tylko zatwierdzonemu użytkownikowi operować na przechowywanych danych w systemie.

4. Ekonomiczne rozwiązanie

Taki system jest wysoce skalowalny i jest bardzo opłacalnym rozwiązaniem dla modelu biznesowego, który musi przechowywać dane, które rosną wykładniczo w stosunku do obecnych wymagań. W przypadku starych tradycyjnych systemów zarządzania relacyjnymi bazami danych przetwarzanie danych nie było tak łatwe, jak w przypadku systemu Hadoop pod względem skalowalności. W takich przypadkach firma została zmuszona do zmniejszenia danych i dalszego wdrożenia klasyfikacji opartej na założeniach, jak pewne dane mogą być cenne dla organizacji, a tym samym usunięcia surowych danych. Tutaj na ratunek przychodzi architektura skalowalna Hadoop z programowaniem MapReduce.

5. Szybko

Rozproszony system plików Hadoop HDFS jest kluczową funkcją używaną w Hadoop, który zasadniczo implementuje system mapowania do lokalizowania danych w klastrze. Programowanie MapReduce jest narzędziem służącym do przetwarzania danych i znajduje się również na tym samym serwerze, umożliwiając szybsze przetwarzanie danych. Hadoop MapReduce przetwarza duże ilości danych, które są nieustrukturyzowane lub częściowo ustrukturyzowane w krótszym czasie.

6. Prosty model programowania

Programowanie MapReduce opiera się na bardzo prostym modelu programowania, który zasadniczo umożliwia programistom opracowanie programu MapReduce, który z łatwością i wydajnością poradzi sobie z wieloma innymi zadaniami. Model programowania MapReduce został napisany przy użyciu języka Java, który jest bardzo popularny i bardzo łatwy do nauczenia. Ludzie mogą łatwo nauczyć się programowania w języku Java i zaprojektować model przetwarzania danych, który spełnia ich potrzeby biznesowe.

7. Przetwarzanie równoległe

Model programowania dzieli zadania w sposób umożliwiający równoległe wykonanie niezależnego zadania. Dlatego równoległe przetwarzanie ułatwia procesom podjęcie każdego z zadań, co pomaga uruchomić program w znacznie krótszym czasie.

8. Dostępność i odporność

Model programistyczny MapReduce firmy Hadoop przetwarza dane, wysyłając dane do pojedynczego węzła, a także przesyła ten sam zestaw danych do innych węzłów znajdujących się w sieci. W rezultacie w przypadku awarii w danym węźle ta sama kopia danych jest nadal dostępna w innych węzłach, z której można korzystać zawsze, gdy jest to wymagane, zapewniając dostępność danych.
W ten sposób Hadoop jest odporny na uszkodzenia. Jest to wyjątkowa funkcjonalność oferowana przez Hadoop MapReduce, która jest w stanie szybko rozpoznać usterkę i zastosować szybką poprawkę dla rozwiązania do automatycznego odzyskiwania.

Istnieje wiele firm na całym świecie korzystających z funkcji zmniejszania map, takich jak Facebook, Yahoo itp.

Wniosek - Czym jest MapReduce

Redukcja map ma duże możliwości, jeśli chodzi o przetwarzanie dużych danych w porównaniu do tradycyjnych systemów RDBMS. Wiele organizacji już zdało sobie sprawę z jego potencjału i przechodzi na tę nową technologię. Oczywiście redukcja map ma bardzo długą drogę na platformie przetwarzania dużych danych.

Polecane artykuły

To był przewodnik po czym jest MapReduce. Tutaj omówiliśmy Podstawową koncepcję, przykłady i zalety MapReduce. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Co to jest JavaScript?
  2. MapReduce Pytania do wywiadu
  3. Co to jest Python
  4. Jak działa MapReduce
  5. Co to jest Big data i Hadoop

Kategoria: