Úvod do komponent Hadoop

Hadoop Components jsou hlavně HDFS, Map Reduce, Yarn. Dnes žijeme v digitálním věku, kde je rychlost produkce dat velmi vysoká, přibližně denně produkujeme 2, 5 kvintilionů dat. I když úložná kapacita disků roste, ale rychlost vyhledávání se pro tento objem dat nezvýšila. Abychom to překonali, potřebujeme číst data paralelně, abychom toho dosáhli v Hadoopu, máme HDFS (Hadoop Distributed File System), kde jsou datové sady ukládány jako bloky v HDFS (více viz sekce HDFS), abychom mohli paralelně číst data a dosáhnout vyšší rychlost zpracování. Zpracování dat se provádí za účelem načtení nebo předpovědi některých smysluplných informací nebo získání některých trendů nebo vzorců. Proces MapReduce se používá k získání požadovaných informací. Map a Reduce jsou dvě různé fáze zpracování dat.

Hlavní komponenty Hadoopu

Hlavní komponenty Hadoopu jsou popsány níže:

1. Distribuovaný systém souborů Hadoop (HDFS)

HDFS je ukládací vrstva pro velká data, je to shluk mnoha strojů, uložená data lze použít ke zpracování pomocí Hadoop. Jakmile jsou data přesunuta do HDFS, můžeme je zpracovat kdykoli, dokud nezpracujeme data, budou v HDFS, dokud soubory nesmažeme ručně. HDFS ukládá data jako blok, minimální velikost bloku je 128 MB v Hadoop 2.xa pro 1.x to bylo 64 MB. HDFS replikuje bloky pro dostupná data, pokud jsou data uložena v jednom počítači a pokud stroj selže, data nejsou ztracena, ale aby se tomu zabránilo, jsou data replikována napříč různými počítači. Replikační faktor je ve výchozím nastavení 3 a můžeme změnit v HDFS-site.xml nebo pomocí příkazu Hadoop fs -strep -w 3 / dir replikací máme bloky na různých strojích pro vysokou dostupnost.
HDFS je architektura master-slave, je to NameNode jako master a datový uzel jako slave. NameNode je stroj, ve kterém jsou uložena všechna metadata všech bloků uložených v DataNode.

2. YARN

YARN byl představen v Hadoop 2.x, předtím měl Hadoop JobTracker pro správu zdrojů. Job Tracker byl pánem a jako otrok měl Task Tracker. Job Tracker byl ten, který se staral o plánování úloh a přidělování zdrojů. Task Tracker se staral o Mapy a Redukoval úkoly a stav byl pravidelně aktualizován na Job Tracker. S typem správce zdrojů měl limit škálovatelnosti a souběžné provádění úkolů mělo také omezení. Tyto problémy byly řešeny v YARN a postaral se o přidělování prostředků a plánování úloh v klastru. Provedení úlohy Zmenšit mapu vyžaduje prostředky v klastru, aby bylo možné získat prostředky přidělené pro úlohu, které YARN pomáhá. YARN určuje, která úloha se provádí a který stroj se provádí. Obsahuje všechny informace o dostupných jádrech a paměti v klastru, sleduje spotřebu paměti v klastru. Interaguje s NameNode o datech, kde se nachází, aby rozhodl o přidělení prostředků.

3. MapReduce

Ekosystém Hadoop je nákladově efektivní, škálovatelný a flexibilní způsob práce s tak velkými datovými soubory. Hadoop je rámec, který používá konkrétní programovací model, nazvaný MapReduce, pro rozdělení úkolů výpočtu na bloky, které lze distribuovat kolem klastru komoditních strojů pomocí Hadoop Distributed Filesystem (HDFS).

MapReduce jsou dva různé úkoly Map a Reduce, Map předchází fázi Reducer. Jak název napovídá, mapová fáze mapuje data do párů klíč-hodnota, jak všichni víme, Hadoop používá klíčové hodnoty pro zpracování. Fáze redukce je fáze, ve které máme skutečnou logiku, která má být implementována. Kromě těchto dvou fází implementuje také směšovací a třídicí fázi.

1. Mapovač

Mapper je třída, kde je vstupní soubor převeden na pár klíčů a hodnot pro další zpracování. Při čtení dat se čte v hodnotách klíčů pouze v případě, že klíčem je bitový offset a hodnota je celý záznam.

Např. Máme soubor Diary.txt, ve kterém máme zapsány dva řádky, tj. Dva záznamy.

Je to skvělý den, který bychom si zde měli užít, odchylky pro 't' je 0 a pro 'w' je to 33 (bílé znaky jsou také považovány za znak), takže mapovač bude číst data jako pár klíč-hodnota, jako (klíč, hodnota), (0, je to nádherný den), (33, měli bychom si užít)

2. Redukce

Redukce je třída, která přijímá klíče a hodnoty z výstupu fáze mapovače. Klíče a hodnoty generované z mapovače jsou přijímány jako vstup do reduktoru pro další zpracování. Reducer přijímá data z více mapovačů. Redukce agreguje tato mezilehlá data do sníženého počtu klíčů a hodnot, což je konečný výstup, uvidíme to v příkladu.

3. Řidič

Kromě třídy mapovačů a reduktorů potřebujeme ještě jednu třídu, a to třídu Driver. Tento kód je nezbytný pro MapReduce, protože je mostem mezi implementovaným rámcem a logikou. Specifikuje konfiguraci, cestu vstupních dat, cestu výstupního úložiště a co je nejdůležitější, které třídy mapovače a redukce je třeba implementovat, také mnoho dalších konfigurací musí být nastaveno v této třídě. např. ve třídě ovladačů, můžeme určit oddělovač pro výstupní soubor, jak je znázorněno ve třídě ovladačů z níže uvedeného příkladu.

Příklad

Zvažte, že máme dataset cestovní agentury, nyní musíme z údajů vypočítat, kolik lidí se rozhodlo cestovat do konkrétního cíle. Abychom toho dosáhli, budeme muset vzít cíl jako klíč a pro počet vezmeme hodnotu jako 1. Takže ve fázi mapovače budeme mapovat cíl na hodnotu 1. Nyní ve fázi shuffle a sort za mapovačem, namapuje všechny hodnoty na konkrétní klíč. Např. Pokud máme cíl jako MAA, namapovali jsme 1 a také máme 2 výskyty po zamíchání a třídění dostaneme MAA, (1, 1) kde (1, 1) je hodnota. Nyní ve fázi reduktoru již máme implementovanou logiku ve fázi reduktoru pro přidání hodnot, abychom získali celkový počet rezervovaných vstupenek pro cíl. Toto je tok MapReduce.

Níže je snímek implementovaného programu pro výše uvedený příklad.

1. Třída řidiče

2. Mapovací třída

3. Redukční třída

Provádění Hadoopu

K provedení Hadoopu musíme nejprve sestavit jar a pak můžeme provést pomocí níže uvedeného příkazu Hadoop jar eample.jar /input.txt /output.txt

Závěr

Zde jsme diskutovali základní komponenty Hadoopu jako HDFS, Map Reduce a YARN. Jedná se o distribuovanou platformu pro výpočet clusterů, která pomáhá ukládat a zpracovávat data a provádět potřebnou analýzu zachycených dat. Hadoop je flexibilní, spolehlivý z hlediska dat, protože data jsou replikována a škálovatelná, tj. Do clusteru můžeme přidat další stroje pro ukládání a zpracování dat.

Doporučené články

Toto byl průvodce komponenty Hadoop Components. Zde jsme diskutovali základní komponenty Hadoopu s příklady. Další informace naleznete také v dalších navrhovaných článcích -

  1. Úvod do architektury JDBC
  2. Co je Hadoop Cluster?
  3. Co je MapReduce v Hadoopu?
  4. Co je Big data a Hadoop
  5. Hadoop fs Příkazy

Kategorie: