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

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ů:
- Mapové úkoly (Rozdělení a mapaping)
- 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
- Prácetracker: Chová se jako a mistr (zodpovědný za kompletní provedení zadané zakázky)
- 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.

- Ú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.
