Map Side Pridružite se vs. Pridružiti

Ovaj post govori o pridruživanju stranice Hadoop Map vs. pridružiti. Također naučite što je smanjenje karte, spajanje tablice, pridruživanje, prednosti korištenja operacije spajanja na strani karte u Hiveu

Na ovom blogu razgovarat ćemo o Pridružite se strani karte i njegove prednosti u odnosu na normalan rad spojnica u Košnica .Ovo je važan koncept koji ćete morati naučiti provoditi .Ali prije nego što saznamo za ovo, prvo bismo trebali razumjeti koncept 'Pridružiti' i što se događa interno kada izvršimo spajanje Košnica .

Pridružiti je klauzula koja kombinira zapise dviju tablica (ili skupova podataka).
Pretpostavimo da imamo dvije tablice A i B. Kada izvršimo operaciju spajanja na njima, vratit će zapise koji su kombinacija svih stupaca A i B.





Sada da shvatimo funkcionalnost normalnog spajanja na primjeru ..

Kad god primijenimo operaciju pridruživanja, posao će se dodijeliti zadatku Smanjivanje karte koji se sastoji od dvije faze - a ‘Faza karte I ' Smanjite fazu ’. Posao mapera tijekom Map Stagea je 'čitati' podaci iz tablica pridruživanja i do 'povratak' the ‘Ključ za pridruživanje’ i ‘Pridruži vrijednost» upari u međufazu. Dalje, u fazi miješanja, ova se posredna datoteka zatim sortira i spaja. Zadatak reduktora tijekom faze smanjenja je uzeti ovaj sortirani rezultat kao ulaz i dovršiti zadatak pridruživanja.



  • Pridruživanje na strani karte slično je pridruživanju, ali sve zadatke izvodi maper sam.

  • Pridruživanje na strani mape bit će uglavnom prikladno za male tablice radi optimizacije zadatka.



Kako će se pridruživanje na karti poboljšati zadatak?

Pretpostavimo da imamo dvije tablice od kojih je jedna mala tablica. Kada pošaljemo zadatak smanjenja karte, stvorit će se lokalni zadatak Map Reduce prije originalnog zadatka Map Reduce koji će čitati podatke male tablice iz HDFS-a i pohraniti ih u hash tablicu u memoriji. Nakon čitanja, serializira hash tablicu u memoriji u datoteku hash tablice.

U sljedećoj fazi, kada se izvodi izvorni zadatak pridruživanja Map Reduce, on premješta podatke u datoteci hash tablice u distribuiranu predmemoriju Hadoop, koja te datoteke popunjava na lokalni disk svakog mappera. Tako svi maperi mogu učitati ovu trajnu datoteku hash tablice natrag u memoriju i obaviti spajanje kao i prije. Tok izvođenja optimiziranog spajanja mape prikazan je na donjoj slici. Nakon optimizacije, malu tablicu treba pročitati samo jednom. Također, ako se na istom stroju izvodi više mapera, distribuirana predmemorija treba samo gurnuti jednu kopiju datoteke hash tablice na ovaj stroj.

Prednosti korištenja bočnog spajanja na karti:

  • Pridruživanje na karti pomaže u smanjenju troškova koji nastaju pri sortiranju i spajanju u promiješati i smanjiti faze.
  • Pridruživanje na karti također pomaže u poboljšanju izvedbe zadatka smanjenjem vremena za dovršavanje zadatka.

Mane pridruživanja na strani karte:

  • Pridruživanje na strani mape prikladno je samo kada je jedna od tablica na kojoj izvodite operaciju spajanja na strani karte dovoljno mala da stane u memoriju. Stoga nije prikladno izvoditi spajanje na strani karte na tablicama koje u obje imaju ogromne podatke.

Jednostavni primjer za smanjenje unosa karte:

Stvorimo dvije tablice:

  • Emp : sadrži detalje o zaposleniku kao što su ime zaposlenika, ID zaposlenika i odjel kojem pripada.

  • Dubina: sadrži detalje poput naziva odjela, ID-a odjela i tako dalje.

Stvorite dvije ulazne datoteke kako je prikazano na sljedećoj slici da biste podatke učitali u stvorene tablice.

zaposlenik.txt

dept.txt

Učitajmo sada podatke u tablice.

Izvedimo Na strani karte Pridružiti na dvije tablice za izdvajanje popisa odjela u kojima svaki zaposlenik radi.

Evo, drugi stolni odjel je mali stol. Zapamtite, uvijek će broj odjela biti manji od broja zaposlenika u organizaciji.

Izvršimo sada isti zadatak uz pomoć normalnog spajanja na strani Smanji.

Tijekom izvršavanja oba pridruživanja možete pronaći dvije razlike:

  • Pridruživanje smanjenjem karte dovršio je posao za manje vremena u usporedbi s vremenom potrebnim za normalno pridruživanje.

  • Map-reduce join završio je svoj posao bez pomoći bilo kojeg reduktora, dok je normalno pridruživanje izvršio ovaj posao uz pomoć jednog reduktora.

Stoga, Pridružite se na strani karte je li vaša najbolja opklada kada je jedan od stolova dovoljno mali da stane u pamćenje da biste posao završili u kratkom vremenskom rasponu.

U Okoliš u stvarnom vremenu , imat ćete skupove podataka s ogromnom količinom podataka. Stoga će izvođenje analize i dohvaćanje podataka potrajati ako je jedan od skupova podataka manje veličine. U takvim slučajevima Pridruživanje na strani karte pomoći će da se posao završi za manje vremena.

Nikad nije bilo bolje vrijeme za svladavanje Hadoopa! Započnite sada s posebno kuriranim tečajem Big Data i Hadoop od Edureke.

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

Vezane objave:

7 načina kako trening velikih podataka može promijeniti vašu organizaciju

obrnute znamenke cjelobrojnog pitona