V našem předchozímHadoop blogu jsme vám poskytli podrobný popis Hadoop InputFormat a OutputFormat . Nyní se podrobně zabýváme počítadly Hadoop. V tomto tutoriálu Hadoop probereme, co jsou čítače MapReduce, jaké jsou jejich role.
Nakonec se také budeme věnovat typům čítačů v Hadoop MapReduce. Například MapReduce Task Counter, File System Counters, FileInputFormat Counters, Čítače FileOutputFormat, Čítače úloh v MapReduce, Dynamické čítače v Hadoop.
Hadoop MapReduce
Než začneme s Hadoop Counters, nejprve se naučíme, co je Hadoop MapReduce?
MapReduce je vrstva zpracování dat Hadoop. Zpracovává velká strukturovaná i nestrukturovaná data uložená v HDFS. MapReduce také paralelně zpracovává obrovské množství dat. Dělá to rozdělením úkolu (předloženého úkolu) na sadu nezávislých úkolů (dílčího úkolu). V Hadoopu funguje MapReduce rozdělením zpracování do fází:Mapa aSnížit .
- 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.
Co jsou počítadla Hadoop?
Počítadla v Hadoop jsou užitečným kanálem pro shromažďování statistik o úloze MapReduce. Jako pro kontrolu kvality nebo pro aplikační úroveň. Čítače jsou také užitečné pro diagnostiku problémů.
Počítadlo představuje globální čítače Apache Hadoop, definované buď rámcem MapReduce. Každý čítač v MapReduce je pojmenován „Enum“. Má také dlouhou hodnotu.
Hadoop čítače ověřují, že:
- Čte a zapisuje správný počet bajtů.
- Spustil a úspěšně provedl správný počet úloh nebo ne.
- Počítadla také ověřují, zda je množství spotřebovaného CPU a paměti vhodné pro naši úlohu a uzly clusteru či nikoli.
Typy čítačů v MapReduce
2 typy počítadel MapReduce jsou:
- Vestavěné čítače
- Uživatelem definovaná počítadla/vlastní počítadla
1. Vestavěné čítače v Hadoop MapReduce
Apache Hadoop udržuje některé vestavěné čítače pro každou úlohu. Tyto čítače vykazují různé metriky. Existují čítače počtu bajtů a záznamů. Což nám umožňuje potvrdit, že očekávané množství vstupu je spotřebováno a očekávané množství výstupu je vyrobeno.
Hadoop Countery jsou také rozděleny do skupin. Existuje několik skupin vestavěných čítačů. Každá skupina také obsahuje počítadla úloh nebo počítadla úloh.
Několik skupin vestavěných čítačů v Hadoopu je následujících:
a) MapReduce Task Counter
Čítač úloh shromažďuje specifické informace o úkolech během doby jejich provádění. Které zahrnují počet přečtených a zapsaných záznamů.
Například čítač MAP_INPUT_RECORDS je čítačem úloh. Počítá také vstupní záznamy přečtené každou mapovou úlohou.
b) Čítače systému souborů
Tento čítač shromažďuje informace, jako je počet bajtů přečtených a zapsaných systémem souborů. Název a popis čítačů systému souborů jsou následující:
- Přečtení bajtů systému souborů – Počet bajtů přečtených souborovým systémem.
- Zapsány bajty systému souborů – Počet bajtů zapsaných do souborového systému.
c) Čítače FileInputFormat
Tyto čítače také shromažďují informace o počtu bajtů přečtených mapovými úlohami prostřednictvím FileInputFormat.
d) Čítače FileOutputFormat
Tyto čítače také shromažďují informace o počtu bajtů zapsaných mapovými úlohami (pro úlohy pouze s mapou) nebo snižují úlohy pomocí FileOutputFormat.
e) Počítadla úloh v MapReduce
Počítadlo úloh měří statistiky na úrovni úlohy. Neměří hodnoty, které se mění, když je úloha spuštěna.
Například TOTAL_LAUNCHED_MAPS, spočítejte počet mapových úloh, které byly spuštěny v průběhu úlohy. Aplikační master také měří počítadla úloh.
Není tedy nutné je posílat přes síť, na rozdíl od všech ostatních čítačů, včetně těch uživatelsky definovaných.
2. Uživatelsky definované čítače nebo vlastní čítače v Hadoop MapReduce
Kromě vestavěných čítačů umožňuje Hadoop MapReduce uživatelskému kódu definovat sadu čítačů. Poté je v mapovači podle potřeby zvýší nebo reduktor . Podobně jako v Javě k definování čítačů, které používá, „enum .
Úloha může definovat libovolný počet „výčtů“. Každý s libovolným počtem polí. Název výčtu je název skupiny. Pole výčtu jsou názvy čítačů.
a) Dynamické čítače v Hadoop
Pole Java enum jsou definována v době kompilace. Nemůžeme tedy vytvářet nové čítače za běhu pomocí výčtů. Dynamické čítače tedy používáme k vytváření nových čítačů za běhu. Ale dynamický čítač není definován v době kompilace.
Závěr
Čítače tedy kontrolují, zda přečetl a zapsal správný počet bajtů. Counter také měří průběh nebo počet operací, ke kterým dochází v rámci úlohy MapReduce.
Hadoop také udržuje vestavěné čítače a uživatelem definované čítače pro měření průběhu, ke kterému dochází v úloze MapReduce.
Doufám, že vám tento blog pomohl. Pokud máte jakýkoli dotaz týkající se Hadoop Counter, zanechte komentář v sekci níže.