Mapa Side Vs. Připojit se



Tento příspěvek popisuje Hadoop Map boční připojení vs. připojit se. Zjistěte také, co je zmenšení mapy, připojení tabulky, připojení strany, výhody použití operace připojení na straně mapy v Hive

V tomto blogu budeme diskutovat o Připojit se na straně mapy a jeho výhody oproti běžné operaci připojení v Úl .Toto je důležitý koncept, který se budete muset naučit implementovat .Ale než o tom budeme vědět, měli bychom nejprve pochopit koncept 'Připojit se' a co se děje interně, když provádíme spojení Úl .

jak zjistit délku pole v JavaScriptu

Připojit se je klauzule, která kombinuje záznamy dvou tabulek (nebo datových sad).
Předpokládejme, že máme dvě tabulky A a B. Když na nich provedeme operaci spojení, vrátí záznamy, které jsou kombinací všech sloupců f A a B.





Nyní pochopíme funkčnost normálního spojení s příkladem.

Kdykoli použijeme operaci spojení, bude úloha přiřazena k úkolu Zmenšit mapu, který se skládá ze dvou fází - a „Fáze mapy „A Snižte fázi “. Úkolem mappera během Map Stage je 'číst' data ze spojovacích tabulek a do 'vrátit se' the ‚Připojit klíč ' a ‚Spojit hodnotu ' spárovat do přechodného souboru. Dále, ve fázi zamíchání, je tento mezilehlý soubor poté seřazen a sloučen. Úkolem reduktoru během fáze redukce je brát tento tříděný výsledek jako vstup a dokončit úkol spojení.



  • Spojení na straně mapy je podobné spojení, ale veškerý úkol bude provádět samotný mapovač.

  • Spoj na straně mapy bude většinou vhodný pro malé tabulky k optimalizaci úkolu.



Jak spojení na straně mapy optimalizuje úkol?

Předpokládejme, že máme dvě tabulky, z nichž jedna je malá tabulka. Když zadáme úlohu zmenšení mapy, vytvoří se před původní spojovací úlohou Map Reduce místní úloha Map Reduce, která načte data malé tabulky z HDFS a uloží je do hash tabulky v paměti. Po přečtení serializuje tabulku hash v paměti do souboru tabulky hash.

V další fázi když běží původní úloha Map Reduce spojení, přesune data v souboru hash tabulky do distribuované mezipaměti Hadoop, která tyto soubory naplní na místní disk každého mapovače. Takže všichni mapovači mohou načíst tento trvalý soubor hash tabulky zpět do paměti a provést připojení jako dříve. Tok provedení optimalizovaného spojení mapy je zobrazen na obrázku níže. Po optimalizaci je třeba malou tabulku přečíst jen jednou. Také pokud na stejném počítači běží více mapovačů, distribuované mezipaměti stačí odeslat jednu kopii souboru tabulky hash do tohoto počítače.

Výhody použití spojení na straně mapy:

  • Spojení na mapě pomáhá minimalizovat náklady, které vzniknou při třídění a slučování v zamíchat a snížit etapy.
  • Spojení na straně mapy také pomáhá zlepšit výkon úkolu snížením času na dokončení úkolu.

Nevýhody spojení na straně mapy:

  • Spojení na straně mapy je dostatečné, pouze když je jedna z tabulek, na kterých provádíte operaci spojení na straně mapy, dostatečně malá, aby se vešla do paměti. Proto není vhodné provádět spojování na straně mapy u tabulek, které jsou v obou obrovská data.

Jednoduchý příklad pro připojení ke zmenšení mapy:

Vytvořme dvě tabulky:

  • Emp : obsahuje podrobnosti o zaměstnanci, například jméno zaměstnance, ID zaměstnance a oddělení, do kterého patří.

  • Oddělení: obsahuje podrobnosti jako Název oddělení, ID oddělení a tak dále.

Vytvořte dva vstupní soubory, jak je znázorněno na následujícím obrázku, abyste načetli data do vytvořených tabulek.

zaměstnanec.txt

odd.txt

Nyní načtěte data do tabulek.

rozdíl mezi agilním a devops

Pojďme provést Strana mapy Připojit se na dvou tabulkách rozbalte seznam oddělení, ve kterých každý zaměstnanec pracuje.

Tady je odd. druhého stolu je malý stolek. Nezapomeňte, že vždy bude počet oddělení menší než počet zaměstnanců v organizaci.

Nyní provedeme stejný úkol pomocí normálního spojení na straně Reduce.

Při provádění obou spojení můžete najít dva rozdíly:

  • Spojení zmenšující mapu dokončilo úlohu za kratší dobu ve srovnání s časem potřebným při běžném připojení.

  • Map-zmenšit spojení dokončilo svou práci bez pomoci jakéhokoli reduktoru, zatímco normální spojení provedlo tuto úlohu pomocí jednoho reduktoru.

Proto, Připojte se na stranu mapy je vaše nejlepší sázka, když je jeden ze stolů dostatečně malý, aby se vešel do paměti, aby dokončil práci v krátkém čase.

v Real-time prostředí , budete mít datové sady s velkým množstvím dat. Provádění analýzy a načítání dat bude tedy časově náročné, pokud má jedna ze sad dat menší velikost. V takových případech Spojte se na mapě pomůže dokončit práci za kratší dobu.

Nikdy nebyl lepší čas zvládnout Hadoop! Začněte hned se speciálně upraveným kurzem Big Data a Hadoop od Edureky.

Reference:
https://www.facebook.com/notes/facebook-engineering/join-optimization-in-apache-hive/470667928919

Související příspěvky:

7 způsobů, jak školení velkých dat může změnit vaši organizaci

jak vytvořit relaci v Javě