Práce s tunami dat vyžaduje určité speciální uspořádání. Běžné výpočetní techniky jsou nedostatečné k tomu, aby zvládly záplavu dat, a to ještě více, když pocházejí z více zdrojů. Ve velkých datech je velikost, o které mluvíme, obrovská – měřená v zettabajtech, exabajtech nebo milionech petabajtů nebo miliardách terabajtů. Rámec nazvaný Hadoop se s oblibou používá k řešení některých problémů se správou velkých dat. Tento článek se pokouší poskytnout úvodní představu o Hadoopu ve světle velkých dat.
Evoluce
S velkým třeskem se nic nestane. Původ a vývoj Hadoopu je postupný a podle potřeby dané hodiny při práci s velkými daty. Stručně řečeno, za svůj vznik vděčí projektu Apache Nutch Douga Cuttinga v roce 2003, a to zejména na začátku jeho kódové části. Geneze byla vyvinuta z Google File System (GFS), dokumentu, který byl publikován v říjnu 2003 a který ovlivnil další článek nazvaný MapReduce:Zjednodušené zpracování dat na velkých shlucích. Kód pro HDFS v Hadoop je vyřazen z projektu Apache Nutch v roce 2006 a je značně ovlivněn algoritmy GFS a MapReduce. A skutečnost, že název „Hadoop“ pochází z plyšové sloní hračky Cuttingova syna, jasně rezonuje myšlenkou, že v místnosti je slon, kterého chce Hadoop zjevně oslovit nebo se s ním vypořádat.
V kostce
Dnes Hadoop ze svého monolitického začátku vyrostl v softwarovou knihovnu, rámec pro vývoj aplikací, které vyžadují distribuované zpracování obrovského množství dat ležících napříč shluky počítačů pomocí jednoduchých programovacích modelů. Může se rozšířit z jednoho serveru na tisíce strojů. Myšlenkou je distribuovat výpočet a úložiště mezi více počítačů a využít tak zpracování velkých sad dat. Knihovna má schopnost detekovat selhání na úrovni aplikační vrstvy, takže programátor je může zpracovat a poskytovat služby nad shlukem počítačů, spíše než prostupovat selhání na jednu nebo více nižších úrovní, kde je obtížnější je odstranit. zvládnout nebo překonat.
Hadoop je tedy kombinací nástrojů a open source knihoven podporovaných Apache pro vytváření aplikací pro distribuované výpočty, které jsou vysoce spolehlivé a škálovatelné.
Jak to funguje
Hadoop se v zásadě vypořádává s velkými daty třemi způsoby:
- Prvním problémem je úložiště. Data jsou uložena na více počítačích v distribuovaném prostředí, kde je lze zpracovávat paralelně, aby se snížil čas a zdroje. Data jsou uložena v prostředí zvaném Hadoop Distributed File System (HDFS) , který se používá k ukládání dat v různých formátech napříč clustery strojů. Za tímto účelem rozděluje data do bloků a ukládá je napříč různými datovými uzly. Využívá techniku zvanou horizontální škálování přidat další datové uzly do stávajících clusterů HDFS podle požadavku. Tím se maximalizuje využití stávajícího zdroje namísto přidávání jednoho, kdykoli vznikne potřeba rozšířit.
- Druhou otázkou je přizpůsobení různorodosti údajů. HDFS je vybaven pro ukládání všech druhů dat, ať už strukturovaných, polostrukturovaných nebo nestrukturovaných. Neexistuje žádná validace předdumpingového schématu. Jakmile jsou data zapsána, lze je bez problémů číst několikrát.
- Třetím problémem je zpracování a způsob přístupu k uloženým údajům. V tomto ohledu přichází na pomoc algoritmus MapReduce, kde je zpracování distribuováno mezi podřízené uzly, aby fungovalo paralelně, a výsledek je odeslán zpět do hlavního uzlu. Hlavní uzel sloučí výsledky před poskytnutím konečného výsledku. Tuto část má na starosti YARN, která je určena pro paralelní zpracování dat uložených v HDFS.
Je v něm mnoho složitých částí, ale to je to, co Hadoop v kostce dělá. Myšlenka modulů by poskytla další pohled.
Moduly
Apache Hadoop Project se skládá ze šesti modulů. První čtyři jsou následující:
- Hadoop Common :Skládá se z utilit běžně používaných Hadoopem a podporuje další moduly Hadoop. Je také známý jako Hadoop Core a je nezbytnou součástí ekosystému spolu s HDFS, YARN a MapReduce. Právě v této části Hadoop předpokládá, že hardware je náchylný k selhání a programátorovi jsou poskytnuty všechny nezbytné prostředky k automatickému řešení selhání v softwaru.
- Hadoop Distributed File System (HDFS) :Distribuovaný systém souborů, který dokáže pojmout různé soubory v distribuovaném prostředí. Rozděluje soubory do bloků a ukládá je mezi uzly v distribuované architektuře. Poskytuje horizontální škálování namísto vertikálního škálování pro další shlukování. Je vysoce odolný proti chybám a má nízké náklady, pokud jde o možnosti nasazení hardwaru.
- Hadoop PŘÍZE :Toto je CPU frameworku Hadoop. Se dvěma hlavními komponentami nazvanými NodeManager a ResourceManager , YARN provádí všechny činnosti zpracování, jako je alokace zdrojů, plánování úloh a správa clusteru.
- Hadoop MapReduce :Toto je rámec pro všechny paralelní výpočty. MapReduce je paralelní programovací model pro zpracování dat v distribuovaném prostředí. Ideálně se používá k psaní distribuovaných aplikací, které dokážou efektivně zpracovávat velké množství dat napříč klastry komoditního hardwaru. Segmentuje proces do dvou fází, které se nazývají Mapa a Snížit , kde je úkolem Mappera třída je převzít vstup, tokenizovat, mapovat a třídit. Výstup se pak stane vstupem do Redukce třída, která hledá odpovídající dvojice a redukuje je. V každé fázi existují páry klíč–hodnota pro vstup a výstup a typ páru určuje programátor.
Nedávno byly přidány dva nové dílčí projekty:
- Hadoop Ozone :Jde o škálovatelné, redundantní a distribuované úložiště objektů pro Hadoop. Kromě škálování na miliardy objektů různých velikostí může Ozone efektivně fungovat v kontejnerových prostředích, jako jsou Kubernetes a YARN. Je postaven na vysoce dostupné replikované vrstvě blokového úložiště s názvem Hadoop Distributed Data Store (HDDS) . [Výňatek. Kliknutím zobrazíte další.]
- Ponorka Hadoop :Motor strojového učení pro Hadoop. Jde o projekt, který umožňuje infra inženýrovi/datovému vědci spouštět aplikace hlubokého učení (Tensorflow, Pytorch atd.) na platformě pro správu zdrojů (jako YARN). [Výňatek. Kliknutím zobrazíte další.]
Závěr
Hadoop významně ovlivnil vyhledávání, proces protokolování, ukládání dat a analýzu velkých dat mnoha velkých organizací, jako je Amazon, Facebook, Yahoo a tak dále. Jedná se o komplexní řešení pro ukládání obrovského množství dat jakéhokoli druhu, doprovázené škálovatelným výpočetním výkonem pro využití prakticky neomezených souběžných úloh. Stručně řečeno, popularita Hadoopu vděčí hodně za jeho odolnost proti chybám, škálovatelnost, nákladově efektivní a rychlé schopnosti.