sql >> Databáze >  >> NoSQL >> HBase

Úvod do datové lokality v Hadoop MapReduce

V tomto výukovém programu Hadoop vysvětlíme vám koncept datové lokality v Hadoopu.

Nejprve se podíváme na úvod do lokality MapReduce Data v Hadoopu, poté budeme diskutovat o potřebě lokality Hadoop Data Locality s kategoriemi datové lokality v MapReduce, Optimalizace datové lokality.

Konečně v tomto tutoriálu MapReduce uvidíme výhody principu Hadoop Data Locality.

Co je to Data Locality v Hadoop MapReduce?

Datová lokalita v Hadoopu je proces přesouvání výpočtu blízko místa, kde se nacházejí skutečná data, namísto přesouvání velkých dat do výpočtu. To minimalizuje celkové přetížení sítě. To také zvyšuje celkovou propustnost systému.

Hlavní nevýhoda Hadoop byl síťový provoz cross-switch kvůli obrovskému množství dat. K překonání této nevýhody vznikl Data Locality.

V Hadoopu, HDFS ukládá datové sady. Framework rozděluje datové sady do bloků a ukládá je napříč datovými uzly. Když klient spustí úlohu MapReduce, pak NameNode odeslal kód MapReduce do datových uzlů, na kterých jsou data dostupná podle úlohy MapReduce.

Požadavek na umístění dat Hadoop

Architektura Hadoop musí splňovat níže uvedené podmínky, aby získala výhody všech výhod datové lokality:

  • Za prvé, klastr Hadoop by měl mít vhodnou topologii. Kód Hadoop by měl mít schopnost číst datovou lokalitu.
  • Zadruhé, Apache Hadoop by si měl být vědom topologie uzlů, kde se provádějí úlohy. Hadoop by také měl vědět, kde se data nacházejí.

Kategorie datové lokality v Hadoopu

Různé kategorie v Hadoop Data Locality jsou následující:

1. Lokální datová lokalita v Hadoop

V tomto jsou data umístěna na stejném uzlu jako mapovač práce na datech. V tomto je blízkost dat velmi blízko výpočtu. Nejvýhodnějším scénářem je lokální datová lokalita.

2. Intra-Rack datová lokalita v Hadoop

Jak víme, není vždy možné spustit mapovač na stejném datovém uzlu kvůli omezením zdrojů. V tomto případě je preferováno spouštět mapovač na jiném uzlu, ale ve stejném racku.

3. Datová lokalita Inter–Rack v Hadoopu

Někdy také není možné spustit mapper na jiném uzlu ve stejném racku. V takové situaci spustíme mapovač na uzlech na různých stojanech. Nejméně preferovaným scénářem je umístění dat mezi racky.

Optimalizace datové lokality Hadoop

Protože datová lokalita je hlavní výhodou Hadoopu MapReduce. To však není v praxi vždy výhodné z různých důvodů, jako je heterogenní shluk, spekulativní provádění, distribuce a umístění dat a rozložení dat.

Ve velkých klastrech převládají výzvy. Jak ve velkém clusteru více datových uzlů a dat, tím méně je lokality.

Ve větších klastrech jsou některé uzly novější a rychlejší než ostatní, což vytváří nevyvážený poměr dat k výpočtu. Velké shluky tedy nebývají zcela homogenní.

V Hadoop spekulativní provádění, protože data nemusí být místní, ale používá výpočetní výkon. Hlavní příčina také spočívá v rozložení/umístění dat. Také nelokální zpracování dat zatěžuje síť, což vytváří problém se škálovatelností. Proto se síť stává úzkým hrdlem.

Lokalitu dat můžeme také zlepšit tím, že nejprve zjistíme, které úlohy časem degradovaly, nebo problém s lokalitou dat. Řešení problémů je složitější a zahrnuje změnu umístění dat a rozložení dat pomocí jiného plánovače.

Poté musíme ověřit, zda nové provedení stejné zátěže má lepší poměr datové lokality.

Výhody datové lokality v Hadoop

  • Vysoká propustnost –  Datová lokalita v Hadoopu zvyšuje celkovou propustnost systému.
  • Rychlejší provedení –  V datové lokalitě přesouvá framework kód do uzlu, kde jsou umístěna data, namísto přesunu velkých dat do uzlu. Díky tomu je Hadoop rychlejší. Protože velikost programu je vždy menší než velikost dat, přesun dat je překážkou síťového přenosu.

Závěr

Závěrem lze říci, že datová lokalita v Hadoopu zlepšuje celkové provádění systému a zrychluje Hadoop. Snižuje tedy přetížení sítě.

Pokud považujete tento blog za užitečný nebo máte jakýkoli dotaz, zanechte komentář v sekci komentářů níže. Rádi je vyřešíme.


  1. MongoDB k použití Sharding s $lookup Aggregation Operator

  2. Jak mohu dotazovat mongodb pomocí mongoidu/railů bez vypršení časového limitu?

  3. Proč má Redis funkce Pub/Sub?

  4. Migrace MongoDB na DynamoDB, část 1