Co je MapReduce v Hadoopu? Velká data Architecture

Co je MapReduce v Hadoopu?

MapReduce je softwarový rámec a programovací model používaný pro zpracování velkého množství dat. MapReduce program pracuje ve dvou fázích, a to v mapování a redukci. Úlohy mapování se zabývají rozdělením a mapovánímping dat, zatímco funkce Snížení počtu úloh zamíchá a sníží počet dat.

Hadoop je schopen spouštět programy MapReduce napsané v různých jazycích: Java, Ruby, Python, a C++. Programy Map Reduce v cloud computingu jsou svou povahou paralelní, a proto jsou velmi užitečné pro provádění rozsáhlé analýzy dat pomocí více strojů v clusteru.

Vstup do každé fáze je klíč – hodnota páry. Kromě toho musí každý programátor specifikovat dvě funkce: mapová funkce a snížit funkci.

MapReduce Architecture v Big Data vysvětlená pomocí příkladu

Celý proces prochází čtyřmi fázemi provádění, a to rozdělením, mapovánímping, míchání a redukce.

Nyní v tomto tutoriálu MapReduce pochopíme pomocí příkladu MapReduce –

Zvažte, že máte následující vstupní data pro MapReduce in Program pro velká data

Welcome to Hadoop Class
Hadoop is good
Hadoop is bad
MapReduce Architecture
MapReduce Architecture

Konečným výstupem úlohy MapReduce je

špatný 1
Třída 1
dobrý 1
Hadoop 3
is 2
na 1
Vítejte 1

Data procházejí následujícími fázemi MapReduce v Big Data

Vstupní rozdělení:

Vstup do úlohy MapReduce v Big Data je rozdělen na části s pevnou velikostí, tzv vstupní rozdělení Vstupní rozdělení je část vstupu, která je spotřebována jednou mapou

Mapaping

Toto je úplně první fáze provádění programu map-reduce. V této fázi jsou data z každého rozdělení předávána do mapy.ping funkce pro generování výstupních hodnot. V našem příkladu úloha mapping fáze spočívá ve spočítání počtu výskytů každého slova z rozdělení vstupu (více podrobností o rozdělení vstupu je uvedeno níže) a přípravě seznamu ve tvaru

Míchání

Tato fáze spotřebovává výstup Mapyping fáze. Jejím úkolem je konsolidovat relevantní záznamy z mapyping fázový výstup. V našem příkladu jsou stejná slova spojena dohromady spolu s jejich příslušnou frekvencí.

Snižování

V této fázi se agregují výstupní hodnoty z fáze Shuffling. Tato fáze kombinuje hodnoty z fáze Shuffling a vrací jednu výstupní hodnotu. Stručně řečeno, tato fáze shrnuje kompletní datovou sadu.

V našem příkladu tato fáze agreguje hodnoty z fáze Shuffling, tj. vypočítává celkový počet výskytů každého slova.

MapReduce Archipodrobně vysvětlenou

  • Pro každé rozdělení je vytvořena jedna mapová úloha, která pak provádí mapovací funkci pro každý záznam v rozdělení.
  • Vždy je výhodné mít více rozdělení, protože čas potřebný ke zpracování rozdělení je malý ve srovnání s časem potřebným pro zpracování celého vstupu. Když jsou rozdělení menší, zpracování je lepší načíst vyvážené, protože zpracováváme rozdělení paralelně.
  • Není však také žádoucí mít rozštěpy příliš malé velikosti. Když jsou rozdělení příliš malá, přetížení správy rozdělení a vytváření mapových úloh začne dominovat celkové době provádění úlohy.
  • Pro většinu úloh je lepší vytvořit velikost rozdělení rovnající se velikosti bloku HDFS (což je ve výchozím nastavení 64 MB).
  • Provádění mapových úloh vede k zápisu výstupu na lokální disk v příslušném uzlu a ne na HDFS.
  • Důvodem pro volbu lokálního disku před HDFS je vyhnout se replikaci, ke které dochází v případě provozu úložiště HDFS.
  • Mapový výstup je mezivýstup, který je zpracován pomocí redukovaných úloh, aby se vytvořil konečný výstup.
  • Po dokončení úlohy lze mapový výstup zahodit. Takže ukládání do HDFS s replikací se stává přehnaným.
  • V případě selhání uzlu, než je výstup mapy spotřebován úlohou snížení, Hadoop znovu spustí úlohu mapy na jiném uzlu a znovu vytvoří mapový výstup.
  • Úloha Reduce nefunguje na konceptu datové lokality. Výstup každé mapové úlohy je přiváděn do úlohy snížení. Mapový výstup se přenese do stroje, kde běží úloha snížení.
  • Na tomto stroji je výstup sloučen a poté předán do uživatelem definované funkce snížení.
  • Na rozdíl od mapového výstupu je zmenšený výstup uložen v HDFS (první replika je uložena na lokálním uzlu a další repliky jsou uloženy na uzlech mimo rack). Takže, psaní snížit výstup

Jak funguje MapReduce Organizes?

Nyní v tomto tutoriálu MapReduce se naučíme, jak MapReduce funguje

Hadoop rozděluje práci na úkoly. Existují dva typy úkolů:

  1. Mapové úkoly (Rozdělení a mapaping)
  2. Omezte úkoly (Zamíchání, zmenšení)

jak je zmíněno výše.

Celý proces provádění (provádění úloh Map a Reduce, obojí) je řízen dvěma typy entit nazývanými a

  1. Prácetracker: Chová se jako a mistr (zodpovědný za kompletní provedení zadané zakázky)
  2. Více úkolů Tractřešeň: Chová se jako otroci, každý z nich vykonával práci

Pro každou úlohu odeslanou k provedení v systému existuje jedna Prácetracker která sídlí na Namenode a jsou více úkolůtractřešeň které sídlí na Datanode.

Jak Hadoop MapReduce funguje
Jak Hadoop MapReduce funguje
  • Úloha je rozdělena do více úloh, které jsou pak spuštěny na více datových uzlech v clusteru.
  • Je to zodpovědnost za práci tracker koordinovat aktivitu plánováním úloh tak, aby se spouštěly na různých datových uzlech.
  • Provedení jednotlivých úkolů je pak řízeno úkol po úkolu tracker, který se nachází na každém datovém uzlu provádějícím část úlohy.
  • Úkol tracKerovou odpovědností je zaslat zprávu o postupu práci. tracker.
  • Kromě toho úkol tracker pravidelně odesílá 'tlukot srdce' signál pro Jobtracker, aby ho informoval o aktuálním stavu systému.
  • Takže práce tracKer si udržuje track celkového postupu každé úlohy. V případě selhání úlohy tracker to může přesunout na jiný úkol tracker.

Shrňte tento příspěvek takto: