Alăturați-vă pe hartă vs. A te alatura



Această postare discută Hadoop Map pe partea Vs. a te alatura. Aflați, de asemenea, ce este reducerea hărții, tabela de asociere, partea de asociere, avantajele utilizării operațiunii de asociere în partea de hartă în Hive

În acest blog, vom discuta despre Alăturați-vă pe hartă și avantajele sale față de operațiunea normală de asociere în Stup .Acesta este un concept important pe care va trebui să îl învățați să îl implementați .Dar, înainte de a cunoaște acest lucru, ar trebui să înțelegem mai întâi conceptul de 'A te alatura' și ce se întâmplă intern când realizăm unirea Stup .

A te alatura este o clauză care combină înregistrările a două tabele (sau seturi de date).
Să presupunem că avem două tabele A și B. Când executăm operația de îmbinare pe ele, va returna înregistrările care sunt combinația tuturor coloanelor lui A și B.





Acum, să înțelegem funcționalitatea unirii normale cu un exemplu ..

Ori de câte ori aplicăm operațiunea de asociere, lucrarea va fi atribuită unei sarcini de reducere a hărții care constă din două etape - a ‘Etapa hărții 'Și un' Reduceți etapa '. Locul de muncă al unui cartograf în timpul Etape Hărți este să 'citit' datele din tabelele de asociere și către 'întoarcere' „Cheie de înscriere” și „Valoare de unire” împerecheați într-un fișier intermediar. Mai mult, în etapa de amestecare, acest fișier intermediar este apoi sortat și fuzionat. Sarcina reductorului în timpul etapei de reducere este de a lua acest rezultat sortat ca intrare și de a finaliza sarcina de asociere.



  • Asocierea pe hartă este similară cu o asociere, dar toată sarcina va fi efectuată doar de către cartograf.

  • Alăturarea pe hartă va fi în mare parte potrivită pentru tabele mici pentru a optimiza sarcina.



Cum se va alătura partea de hartă pentru a optimiza sarcina?

Să presupunem că avem două tabele dintre care una dintre ele este o masă mică. Când trimitem o sarcină de reducere a hărții, o sarcină locală de reducere a hărții va fi creată înainte de sarcina de alăturare originală la reducere a hărții, care va citi datele micului tabel din HDFS și le va stoca într-un tabel hash în memorie. După citire, serializează tabelul hash în memorie într-un fișier tabel hash.

În etapa următoare, când sarcina de alăturare originală Map Reduce rulează, acesta mută datele din fișierul tabelului hash în memoria cache distribuită Hadoop, care completează aceste fișiere pe discul local al fiecărui mapator. Deci, toți cartografii pot încărca acest fișier de tabel hash persistent înapoi în memorie și pot face lucrarea de asociere ca înainte. Fluxul de execuție al îmbinării optimizate a hărții este prezentat în figura de mai jos. După optimizare, micul tabel trebuie citit o singură dată. De asemenea, dacă mai multe mapere rulează pe aceeași mașină, memoria cache distribuită trebuie să împingă doar o copie a fișierului tabelului hash pe această mașină.

Avantajele utilizării unirii laterale a hărții:

  • Combinarea pe hartă ajută la minimizarea costurilor suportate pentru sortare și fuzionare în amesteca și reduce etape.
  • Îmbinarea pe hartă ajută, de asemenea, la îmbunătățirea performanței sarcinii prin scăderea timpului pentru finalizarea sarcinii.

Dezavantaje ale îmbinării pe hartă:

  • Combinarea laterală a hărții este adecvată numai atunci când unul dintre tabelele pe care efectuați operațiunea de asociere la partea hartă este suficient de mic pentru a se potrivi în memorie. Prin urmare, nu este potrivit să efectuați unirea pe hartă pe tabele, care sunt date imense în ambele.

Exemplu simplu pentru înscrieri reduse pe hartă:

Să creăm două tabele:

  • Emp : conține detalii despre un angajat, cum ar fi numele angajatului, ID-ul angajatului și departamentul de care aparține.

ce este variabila de instanță în java
  • Departament: conține detalii precum numele departamentului, ID-ul departamentului și așa mai departe.

Creați două fișiere de intrare așa cum se arată în următoarea imagine pentru a încărca datele în tabelele create.

angajat.txt

dept.txt

Acum, permiteți-ne să încărcăm datele în tabele.

Să ne executăm Hartă A te alatura pe cele două tabele pentru a extrage lista departamentelor în care lucrează fiecare angajat.

Aici al doilea tabel dept este o masuta mica. Amintiți-vă, întotdeauna numărul departamentului va fi mai mic decât numărul angajaților dintr-o organizație.

Acum să îndeplinim aceeași sarcină cu ajutorul unirii normale din partea Reduce.

În timp ce executați ambele asocieri, puteți găsi cele două diferențe:

  • Asocierea cu reducere pe hartă a finalizat lucrarea în mai puțin timp în comparație cu timpul luat în asocierea normală.

  • Asocierea cu reducere a hărții și-a finalizat lucrarea fără ajutorul vreunui reductor, în timp ce asocierea normală a executat această lucrare cu ajutorul unui reductor.

Prin urmare, Alăturați-vă pe hartă este cel mai bun pariu atunci când una dintre tabele este suficient de mică pentru a se potrivi în memorie pentru a finaliza lucrarea într-un interval scurt de timp.

În Mediu în timp real , veți avea seturi de date cu o cantitate imensă de date. Deci, efectuarea analizei și recuperarea datelor va consuma mult timp dacă unul dintre seturile de date are o dimensiune mai mică. În astfel de cazuri Alăturare pe hartă va ajuta la finalizarea lucrării în mai puțin timp.

Nu a existat niciodată un moment mai bun pentru a stăpâni Hadoop! Începeți acum cu cursul special Big Data și Hadoop de Edureka.

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

Postări asemănatoare:

Formarea în 7 moduri Big Data vă poate schimba organizația