sql >> Databáze >  >> NoSQL >> HBase

Hadoop MapReduce Diagram průběhu provádění úloh

V tomto Hadoop blogu, poskytneme vám celý proces provádění úloh MapReduce. Zde podrobně popíšeme každou komponentu, která je součástí MapReduce.

Tento blog vám pomůže odpovědět na to, jak funguje Hadoop MapReduce, jak toky dat v MapReduce, jak se provádí úloha Maprede v Hadoop?

Co je MapReduce?

Hadoop MapReduce je vrstva zpracování dat. Zpracovává obrovské množství strukturovaných i nestrukturovaných dat uložených v HDFS. MapReduce zpracovává data paralelně rozdělením úlohy na sadu nezávislých úloh. Paralelní zpracování tedy zvyšuje rychlost a spolehlivost.

Zpracování dat Hadoop MapReduce probíhá ve 2 fázích – ve fázi Map a Reduce.

  • Fáze mapy- Je to první fáze zpracování dat. V této fázi specifikujeme veškerou složitou logiku/obchodní pravidla/nákladný kód.
  • Snížit fázi- Je to druhá fáze zpracování. V této fázi specifikujeme odlehčené zpracování, jako je agregace/součet.

Kroky postupu MapReduce Job Execution

MapReduce zpracovává data v různých fázích pomocí různých komponent. Pojďme diskutovat o krocích provádění úlohy v Hadoop.

1. Vstupní soubory

Ve vstupních souborech jsou uložena data pro úlohu MapReduce. VHDFS , vstupní soubory jsou umístěny. Formát vstupních souborů je libovolný. Lze také použít soubory protokolu založené na řádcích a binární formát.

2. Vstupní formát

Poté InputFormat definuje, jak tyto vstupní soubory rozdělit a číst. Vybírá soubory nebo jiné objekty pro vstup. InputFormat vytvoří InputSplit.

3. InputSplits

Představuje data, která budou zpracována individuálním Maperem . Pro každé rozdělení je vytvořen jeden mapový úkol. Počet mapových úloh se tedy rovná počtu InputSplits. Rozdělení rámce na záznamy, které mapovač zpracovává.

4. RecordReader

Komunikuje s inputSplit. A poté převede data na páry klíč–hodnota vhodné pro čtení Mapperem. RecordReader ve výchozím nastavení používá TextInputFormat k převodu dat na pár klíč–hodnota.

Komunikuje s InputSplit až do dokončení čtení souboru. Každému řádku v souboru přiřadí bajtový offset. Poté jsou tyto páry klíč–hodnota dále odeslány do mapovače k ​​dalšímu zpracování.

5. Mapovač

Zpracovává vstupní záznam vytvořený RecordReaderem a generuje mezilehlé páry klíč-hodnota. Mezivýstup je zcela odlišný od vstupního páru. Výstupem mapovače je úplná kolekce párů klíč–hodnota.

Rámec Hadoop neukládá výstup mapovače na HDFS. Neukládá se, protože data jsou dočasná a zápis na HDFS vytvoří zbytečné vícenásobné kopie. Potom Mapper předá výstup do slučovače k ​​dalšímu zpracování.

4. Slučovač

Combiner je Mini-reduktor, který provádí lokální agregaci na výstupu mapovače. Minimalizuje přenos dat mezi mapovačem a reduktorem. Takže, když je funkce slučovače dokončena, framework předá výstup do rozdělovače k ​​dalšímu zpracování.

5. Rozdělovač

Partitioner vzniká, pokud pracujeme s více než jedním reduktorem. Vezme výstup slučovače a provede rozdělení.

Rozdělení výstupu probíhá na základě klíče v MapReduce. Pomocí hashovací funkce klíč (nebo podmnožina klíče) odvodí oddíl.

Na základě hodnoty klíče v MapReduce dochází k rozdělení každého výstupu slučovače. A pak záznam se stejnou hodnotou klíče jde do stejného oddílu. Poté je každý oddíl odeslán do reduktoru.

Rozdělení při provádění MapReduce umožňuje rovnoměrné rozložení mapového výstupu přes redukci.

6. Míchání a řazení

Po rozdělení je výstup zamíchán do uzlu snížení. Míchání je fyzický pohyb dat, který se provádí po síti. Jakmile všichni mapovači dokončí a zamíchají výstup na reduktorových uzlech.

Poté framework sloučí tento mezivýstup a třídí. To je pak poskytnuto jako vstup pro snížení fáze.

7. Reduktor

Reducer pak vezme jako vstup sadu mezilehlých párů klíč-hodnota vytvořených mappery. Poté na každém z nich spustí funkci redukce pro generování výstupu.

Výstup reduktoru je konečným výstupem. Poté framework uloží výstup na HDFS.

8. RecordWriter

Zapíše tyto výstupní páry klíč-hodnota z fáze Reducer do výstupních souborů.

9. Výstupní formát

OutputFormat definuje způsob, jakým RecordReader zapisuje tyto výstupní páry klíč-hodnota do výstupních souborů. Takže jeho instance poskytované Hadoopem zapisují soubory do HDFS. Instance OutputFormat tedy zapisují konečný výstup reduktoru na HDFS.

Závěr

Naučili jsme se krok za krokem postup provádění úlohy MapReduce. Doufám, že vám tento blog hodně pomůže k pochopení fungování MapReduce.

Pokud stále máte jakýkoli dotaz související s procesem provádění úlohy MapReduce, můžete se s námi podělit v sekci komentářů níže. Pokusíme se je co nejlépe vyřešit.


  1. MongoDB dotazuje více kolekcí najednou

  2. MongoDB Write Concern:3 Must Know Caveats

  3. mongodb najít pomocí více položek pole

  4. Redis - sledování využití paměti