MapReduce je základní koncept programování, který musíte zvládnout, abyste se stali profesionálním datovým inženýrem. Poskytuje řešení pro distribuované systémy pro správu souborů velkých dat. Pochopení teoretického pozadí MapReduce vám tedy usnadní samotné učení techniky.

Ale co je MapReduce a jak funguje v distribuovaných souborových systémech? To se dozvíte v tomto příspěvku.

Co je MapReduce?

MapReduce je model datového inženýrství aplikovaný na programy nebo aplikace, které zpracovávají logiku velkých dat v paralelních clusterech serverů nebo uzlů. Distribuuje logiku zpracování mezi několik datových uzlů a agreguje výsledky na klient-server.

MapReduce zajišťuje, že zpracování je rychlé, paměťově efektivní a spolehlivé, bez ohledu na velikost dat.

Hadoop File System (HDFS), Google File System (GFS), Apache Kafka, GlusterFS a další jsou příklady distribuovaných systémů souborů velkých dat, které využívají algoritmus MapReduce.

Co je distribuovaný systém souborů?

Distribuovaný souborový systém (DFS) je způsob ukládání ve výpočetní technice, který zahrnuje rozdělení velkých datových souborů na menší části a jejich rozložení na několik serverů v systému. Umožňuje klientům z různých zdrojů zapisovat a číst data, sdílet a spouštět programovatelnou logiku na datech – přímo odkudkoli.

instagram viewer

Distribuovaný souborový systém se obvykle skládá z primárního serveru (také nazývaného NameNode v Hadoop), paralelní clustery a několik uzlů nebo serverů obsahujících replikované datové bloky, to vše v datech centrum. Každý cluster v rámci distribuovaného souborového systému však obsahuje stovky až tisíce těchto uzlů.

Primární server automaticky detekuje změny v klastrech. Může tedy každému uzlu přiřadit role.

Když primární server obdrží datový soubor, odešle jej do clusterů v rámci DFS. Tyto clustery dělají a distribuují data do každého uzlu v nich. Každý uzel poté replikuje data do takzvaných datových bloků, aby vytvořil řetězec. V tomto okamžiku se každý uzel stává serverem bloků.

Příbuzný:Co jsou datová centra a proč jsou důležitá?

Kromě správy přístupu k datům uchovává primární server u každého souboru anotaci metadat. Tímto způsobem ví, který uzel zpracovává který soubor v každém clusteru.

Jak MapReduce funguje v distribuovaných souborových systémech?

Jak již bylo zmíněno dříve, velká data jsou dostupná na několika blokových serverech v DFS. Jedním ze způsobů, jak na těchto datových souborech provádět programovatelnou logiku, je agregovat je do jednoho. Poté je můžete stáhnout do jediného serveru, který nyní zpracovává logiku.

I když je to konvenční způsob dotazování na data, problém je v tom, že data se na jediném serveru stávají opět celkem. Takže jeden server bude muset stále spravovat logiku na několika petabajtech dat najednou. Bohužel to byl problém, který systém původně zamýšlel vyřešit. Takže to nakonec není nejlepší praxe.

Příbuzný:Jak dotazovat více databázových tabulek najednou pomocí spojení SQL

Navíc taková agregace do jednoho serveru představuje několik výkonnostních rizik. Ty mohou sahat od zhroucení serveru, nízké efektivity výpočtů, vysoké latence, vysoké spotřeby paměti a zranitelností až po další.

Ale další způsob, jak spustit programovatelnou logiku, je ponechat data v blocích uvnitř každého distribuovaného serveru. A pak vložit logickou funkci do každého serveru. To znamená, že každý blokový server v rámci clusteru nyní zpracovává svůj výpočet. Použití tohoto přístupu znamená, že není potřeba agregovat nebo stahovat data na jeden server.

Že v systému distribuovaných datových souborů existuje koncept MapReduce. Zajišťuje, že jediný server nemusí stahovat data ze zdroje. Místo toho rozloží funkci zpracování (MapReduce) do několika samostatných blokových uzlů clustery, takže každý uzel v každém clusteru zpracovává logiku samostatně, aniž by přetěžoval jediný server.

V důsledku toho několik serverů zpracovává logiku na bitech dat současně. Toto rozdělení práce mezi servery má za následek mimo jiné optimální výkon a vyšší bezpečnost.

Jak se v DFS zpracovává výsledek MapReduce?

Zde je návod, jak celé zpracování MapReduce funguje v DFS:

  • Primární server obdrží od klienta velký datový dotaz (funkce MapReduce).
  • To pak odešle do každého clusteru, aby to rozprostřelo po každém uzlu v něm.
  • Každý uzel zpracovává funkci MapReduce a kumuluje její výsledek.
  • Jiný server shromažďuje výsledky z každého uzlu a posílá je zpět primárnímu serveru.
  • Primární server pak odešle výsledek jako odpověď klientovi.

Jediným úkolem primárního serveru je tedy odeslat rychle vypočítaný výsledek klientovi, naslouchat změnám a spravovat přístup k datům. Neprovádí žádné výpočty. To je důvod, proč je většina aplikací cloud computingu působivě rychlá navzdory množství dat, které zpracovávají.

Co přesně je Map and Reduce v MapReduce?

MapReduce používá dvě programovací logiky ke zpracování velkých dat v distribuovaném systému správy souborů (DFS). Jedná se o funkci mapy a snížení.

The mapa Funkce provádí úlohu zpracování na každém z datových uzlů v každém clusteru distribuovaného systému souborů. The snížit funkce pak agreguje výsledky vrácené každým blokovým serverem a předává je jinému serveru v rámci DFS pro agregaci výsledků. Přijímající server odešle tento výpočet primárnímu serveru, který odešle vrácenou hodnotu serveru na straně klienta.

Co se stane, když spadne blokový server?

Servery v rámci distribuovaného systému souborů (DFS) mohou někdy zaznamenat výpadek. Možná si myslíte, že to rozbije celý systém, ale není.

Ve výpočetní technice existuje systém, který takovému hrozícímu zhroucení zabraňuje. Říká se tomu odolnost proti chybám.

Příbuzný:Co je cloud computing? Jak funguje cloudová technologie?

I když se server během zpracování dat vypne, odolnost proti chybám zajišťuje, že to primární server okamžitě detekuje. A protože mezi uzly existuje replika datových bloků, primární server okamžitě přenese úlohu zpracování na jiný server. Tímto způsobem výpadek serveru v rámci DFS neovlivní zpracování dat.

MapReduce usnadňuje zpracování velkých dat

MapReduce je základní model, který usnadňuje práci s počítači v distribuovaných souborových systémech. Protože umožňuje několika uzlům spouštět výpočty současně, jde o rychlou metodu používanou různými technologickými giganty k řešení mnoha problémů, které doprovázejí analýzu velkých dat.

Google, Amazon, IBM, mimo jiné, jsou příklady společností, které používají tento koncept. Google například používá koncept MapReduce, aby přinesl výsledky dotazů během vyhledávání Google.

Co jsou velká data, proč jsou důležitá a jak nebezpečná jsou?

Velká data pohání mnoho průmyslových odvětví a mají vliv na životy nás všech. Ale je to nebezpečnější nebo užitečnější?

Přečtěte si další

PodíltweetE-mailem
Související témata
  • Programování
  • Programování
  • Velká data
  • Analýza dat
O autorovi
Idowu Omisola (133 publikovaných článků)

Idowu je nadšený z jakékoli chytré technologie a produktivity. Ve volném čase si hraje s kódováním a když se nudí, přepne na šachovnici, ale také se rád jednou za čas odpoutá od rutiny. Jeho vášeň ukazovat lidem cestu kolem moderních technologií ho motivuje k dalšímu psaní.

Více od Idowu Omisola

Přihlaste se k odběru našeho newsletteru

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné e-knihy a exkluzivní nabídky!

Chcete-li se přihlásit k odběru, klikněte sem