MapReduce je základný koncept programovania, ktorý musíte ovládať, aby ste sa stali profesionálnym dátovým inžinierom. Poskytuje riešenia pre distribuované systémy správy veľkých dátových súborov. Pochopenie teoretického pozadia MapReduce vám teda uľahčí učenie sa samotnej techniky.

Čo je však MapReduce a ako funguje v distribuovaných súborových systémoch? Dozviete sa v tomto príspevku.

Čo je MapReduce?

MapReduce je model dátového inžinierstva aplikovaný na programy alebo aplikácie, ktoré spracovávajú logiku veľkých dát v rámci paralelných klastrov serverov alebo uzlov. Distribuuje logiku spracovania cez niekoľko dátových uzlov a agreguje výsledky do klient-server.

MapReduce zaisťuje, že spracovanie je rýchle, pamäťovo efektívne a spoľahlivé, bez ohľadu na veľkosť údajov.

Hadoop File System (HDFS), Google File System (GFS), Apache Kafka, GlusterFS a ďalšie sú príklady distribuovaných systémov súborov veľkých dát, ktoré používajú algoritmus MapReduce.

Čo je distribuovaný súborový systém?

Distribuovaný súborový systém (DFS) je metóda ukladania vo výpočtovej technike, ktorá zahŕňa rozdelenie veľkých dátových súborov na menšie časti a ich rozloženie na niekoľko serverov v rámci systému. Umožňuje klientom z rôznych zdrojov zapisovať a čítať údaje, zdieľať a spúšťať programovateľnú logiku na údajoch – priamo odkiaľkoľvek.

instagram viewer

Distribuovaný súborový systém zvyčajne pozostáva z primárneho servera (tiež nazývaného NameNode v Hadoop), paralelné klastre a niekoľko uzlov alebo serverov obsahujúcich replikované časti údajov, všetko v údajoch stred. Každý klaster v rámci distribuovaného súborového systému však obsahuje stovky až tisíce týchto uzlov.

Primárny server automaticky zisťuje zmeny v rámci klastrov. Takže môže priradiť roly podľa toho každému uzlu.

Keď primárny server prijme dátový súbor, odošle ho do klastrov v rámci DFS. Tieto klastre rozdeľujú a distribuujú údaje do každého uzla v nich. Každý uzol potom replikuje údaje do takzvaných dátových blokov, aby vytvoril reťazec. V tomto bode sa každý uzol stáva serverom blokov.

Súvisiace:Čo sú dátové centrá a prečo sú dôležité?

Okrem riadenia prístupu k údajom primárny server uchováva anotáciu metadát pre každý súbor. Týmto spôsobom vie, ktorý uzol spracováva ktorý súbor v každom klastri.

Ako funguje MapReduce v distribuovaných súborových systémoch?

Ako už bolo spomenuté, veľké dáta sú dostupné na niekoľkých blokových serveroch v DFS. Jedným zo spôsobov vykonávania programovateľnej logiky na týchto dátových súboroch je ich agregácia do jedného. Potom ich môžete stiahnuť do jedného servera, ktorý teraz spracováva logiku.

Aj keď je to konvenčný spôsob dopytovania údajov, problémom je, že údaje sa opäť stanú celkom v rámci jedného servera. Takže jeden server bude stále musieť spravovať logiku na niekoľkých petabajtoch údajov naraz. Bohužiaľ, toto bol problém, ktorý systém pôvodne zamýšľal vyriešiť. Takže to napokon nie je najlepší postup.

Súvisiace:Ako dotazovať viacero databázových tabuliek naraz pomocou spojenia SQL

Okrem toho takáto agregácia do jedného servera predstavuje niekoľko výkonnostných rizík. Môžu sa pohybovať od zlyhania servera, slabej efektívnosti výpočtov, vysokej latencie, vysokej spotreby pamäte a zraniteľností až po ďalšie.

Ďalším spôsobom, ako spustiť programovateľnú logiku, je ponechať údaje v kusoch v každom distribuovanom serveri. A potom vložte logickú funkciu do každého servera. Znamená to, že každý blokový server v rámci klastra teraz spracováva svoj výpočet. Použitie tohto prístupu znamená, že nie je potrebné agregovať alebo sťahovať údaje na jeden server.

Že v systéme distribuovaných dátových súborov existuje koncept MapReduce. Zabezpečuje, že jeden server nemusí ťahať údaje zo zdroja. Namiesto toho rozdeľuje funkciu spracovania (MapReduce) do niekoľkých samostatných uzlov klastre, takže každý uzol v rámci každého klastra spracováva logiku individuálne bez preťaženia jedného server.

V dôsledku toho niekoľko serverov spracováva logiku na bitoch údajov súčasne. Toto rozloženie práce medzi servermi má za následok okrem iných pozitív aj optimálny výkon a vyššiu bezpečnosť.

Ako sa spracuje výsledok MapReduce v DFS?

Tu je návod, ako celé spracovanie MapReduce funguje v DFS:

  • Primárny server dostane od klienta veľký dátový dotaz (funkcia MapReduce).
  • Potom to pošle do každého klastra, aby to rozložilo cez každý uzol v ňom.
  • Každý uzol spracuje funkciu MapReduce a kumuluje jej výsledok.
  • Ďalší server porovnáva výsledky z každého uzla a posiela ich späť primárnemu serveru.
  • Primárny server potom odošle výsledok ako odpoveď klientovi.

Jedinou úlohou primárneho servera je teda posielať rýchlo vypočítaný výsledok klientovi, počúvať zmeny a spravovať prístup k údajom. Nevykonáva žiadne výpočty. To je dôvod, prečo je väčšina aplikácií cloud computingu pôsobivo rýchla napriek množstvu údajov, ktoré spracúvajú.

Čo presne je Map and Reduce v MapReduce?

MapReduce používa dve programovacie logiky na spracovanie veľkých dát v distribuovanom systéme správy súborov (DFS). Ide o funkciu mapy a redukcie.

The mapa funkcia vykonáva úlohu spracovania na každom z dátových uzlov v každom klastri distribuovaného súborového systému. The znížiť funkcia potom agreguje výsledky vrátené každým blokovým serverom a odovzdá ich inému serveru v rámci DFS na agregáciu výsledkov. Prijímajúci server odošle tento výpočet primárnemu serveru, ktorý odošle vrátenú hodnotu na server na strane klienta.

Čo sa stane, keď spadne blokový server?

Servery v rámci distribuovaného súborového systému (DFS) môžu niekedy zaznamenať výpadok. Možno si myslíte, že to rozbije celý systém, ale nie je to tak.

Vo výpočtovej technike existuje systém, ktorý zabraňuje takémuto hroziacemu zlyhaniu. Hovorí sa tomu odolnosť voči chybám.

Súvisiace:Čo je to cloud computing? Ako funguje cloudová technológia?

Aj keď sa server počas spracovania údajov vypne, odolnosť voči chybám zaisťuje, že to primárny server okamžite zistí. A keďže existuje replika dátových blokov naprieč uzlami, primárny server okamžite prenesie úlohu spracovania na iný server. Týmto spôsobom výpadok servera v rámci DFS neovplyvní spracovanie údajov.

MapReduce uľahčuje spracovanie veľkých dát

MapReduce je základný model, ktorý uľahčuje prácu s počítačom v distribuovaných súborových systémoch. Pretože umožňuje niekoľkým uzlom spustiť výpočet súčasne, ide o rýchlu metódu, ktorú používajú rôzni technologickí giganti na vyriešenie mnohých problémov, ktoré sprevádzajú analýzu veľkých dát.

Google, Amazon, IBM, medzi inými, sú príklady spoločností, ktoré používajú tento koncept. Google napríklad používa koncept MapReduce na poskytovanie výsledkov dopytov počas vyhľadávania Google.

Čo sú veľké dáta, prečo sú dôležité a aké nebezpečné sú?

Veľké dáta poháňajú mnohé odvetvia a ovplyvňujú životy nás všetkých. Je to však nebezpečnejšie alebo užitočnejšie?

Prečítajte si ďalej

zdieľamTweetujteEmail
Súvisiace témy
  • Programovanie
  • Programovanie
  • Veľké dáta
  • Analýza dát
O autorovi
Idowu Omisola (133 publikovaných článkov)

Idowu je nadšený z akejkoľvek inteligentnej technológie a produktivity. Vo voľnom čase sa hrá s kódovaním a keď sa nudí, prepne na šachovnicu, no tiež sa rád raz za čas odtrhne od rutiny. Jeho vášeň ukázať ľuďom cestu okolo moderných technológií ho motivuje k ďalšiemu písaniu.

Viac od Idowu Omisola

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber