Zemljevid Side Pridružite se vs. Pridružite se



Ta objava obravnava Hadoop Map side join Vs. pridruži se. Naučite se tudi, kaj je zmanjšanje zemljevida, združevanje tabele, pridružitev strani, prednosti uporabe postopka združevanja na strani zemljevida v Panju

V tem blogu bomo razpravljali o Pridružite se strani zemljevida in njegove prednosti pred običajnim delovanjem v Panj .To je pomemben koncept, ki se ga boste morali naučiti izvajati .Toda preden vemo o tem, moramo najprej razumeti koncept ‘Pridružite se’ in kaj se zgodi interno, ko izvedemo pridružitev Panj .

Pridružite se je stavek, ki združuje zapise dveh tabel (ali naborov podatkov).
Predpostavimo, da imamo dve tabeli A in B. Ko na njih izvedemo operacijo združevanja, bo vrnila zapise, ki so kombinacija vseh stolpcev A in B.





Zdaj pa razumimo funkcionalnost običajnega združevanja s primerom ..

Kadar koli uporabimo operacijo združevanja, bo naloga dodeljena nalogi Map Reduce, ki je sestavljena iz dveh stopenj - a ‘Faza zemljevida “In„ Zmanjšajte stopnjo ’. Naloga zemljevida med Map Stage je, da »Preberi« podatke iz združenih tabel in do 'Vrnitev' ‘Tipka za pridružitev’ in 'Pridruži vrednost' par v vmesno datoteko. Nadalje se v vmesnem vrstnem redu ta vmesna datoteka razvrsti in združi. Naloga reduktorja med fazo zmanjšanja je, da ta razvrščeni rezultat sprejme kot vhod in dokonča nalogo pridružitve.



  • Pridružitev na strani zemljevida je podobna združevanju, vendar bo vse naloge izvedel preslikavalec sam.

  • Zemljevid na strani bo večinoma primeren za majhne mize za optimizacijo naloge.



Kako bo povezava na strani zemljevida optimizirala nalogo?

Predpostavimo, da imamo dve tabeli, od katerih je ena majhna. Ko pošljemo nalogo za zmanjšanje zemljevida, bo lokalna naloga Map Reduce ustvarjena pred izvirno nalogo Map Reduce, ki bo prebrala podatke majhne tabele iz HDFS in jih shranila v hash tabelo v pomnilniku. Po branju serijsko tabelo v pomnilniku serializira v datoteko zgoščevalne tabele.

V naslednji fazi ko se izvaja izvirna naloga pridružitve Map Reduce, premakne podatke v datoteki razpršene tabele v razdeljeni predpomnilnik Hadoop, ki te datoteke zapolni na lokalni disk vsakega preslikavca. Tako lahko vsi preslikavci to trajno datoteko zgoščevalne tabele naložijo nazaj v pomnilnik in opravijo združevanje kot prej. Tok izvedbe optimiziranega združevanja zemljevida je prikazan na spodnji sliki. Po optimizaciji je treba majhno tabelo prebrati samo enkrat. Tudi če se na isti napravi izvaja več preslikav, mora razdeljeni predpomnilnik na to napravo potisniti samo eno kopijo datoteke razpršilne tabele.

Prednosti uporabe strani na zemljevidu:

  • Združevanje na zemljevidu pomaga pri zmanjševanju stroškov, ki nastanejo pri razvrščanju in združevanju v premešaj in zmanjšati obdobja.
  • Združevanje na strani zemljevida pomaga tudi pri izboljšanju izvedbe naloge s skrajšanjem časa za dokončanje naloge.

Slabosti združevanja na zemljevidu:

  • Združevanje na strani zemljevida je primerno le, če je ena od tabel, v kateri izvajate operacijo združevanja na strani zemljevida, dovolj majhna, da se prilega v pomnilnik. Zato ni primerno izvajati združevanja na zemljevidu na tabelah, ki imajo v obeh ogromne podatke.

Preprost primer za zemljevid, ki zmanjšuje pridružitve:

Ustvarimo dve tabeli:

  • Emp : vsebuje podrobnosti o zaposlenem, kot so ime zaposlenega, ID zaposlenega in oddelek, ki mu pripada.

  • Oddelek: vsebuje podrobnosti, kot so ime oddelka, ID oddelka itd.

Ustvarite dve vhodni datoteki, kot je prikazano na naslednji sliki, da naložite podatke v ustvarjene tabele.

zaposlen.txt

c ++ fibonaccijevo zaporedje

dept.txt

Zdaj pa naložimo podatke v tabele.

Izvedimo Na strani zemljevida Pridružite se na obeh mizah, da izvlečete seznam oddelkov, v katerih dela vsak zaposleni.

Tukaj oddelek za drugo mizo je majhna miza. Ne pozabite, da bo število oddelkov vedno manjše od števila zaposlenih v organizaciji.

Zdaj opravimo isto nalogo s pomočjo običajnega Reduce-side join.

kako klonirati predmet v javi

Med izvajanjem obeh združitev lahko ugotovite dve razliki:

  • Pridružitev z zmanjšanjem zemljevida je opravilo opravila v krajšem času v primerjavi s časom, potrebnim pri običajnem združevanju.

  • Zemljevid za zmanjšanje združitve je opravil svoje delo brez pomoči katerega koli reduktorja, medtem ko je običajni spoj to opravilo izvedel s pomočjo enega reduktorja.

Torej, Pridružite se na strani zemljevida je vaša najboljša stava, ko je ena od tabel dovolj majhna, da se prilega v spomin in v kratkem času dokonča delo.

V Okolje v realnem času , imeli boste nabore podatkov z ogromno količino podatkov. Izvajanje analize in pridobivanje podatkov bo torej dolgotrajno, če je eden od naborov podatkov manjši. V takih primerih Pridružitev na strani zemljevida bo pomagal dokončati delo v krajšem času.

Nikoli ni bilo boljšega časa za obvladovanje Hadoopa! Začnite zdaj s posebej urejenim tečajem Big Data in Hadoop Edureke.

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

Sorodne objave:

7 načinov, kako lahko usposabljanje za velike podatke spremeni vašo organizacijo