Térkép Side Join Vs. Csatlakozik

Ez a bejegyzés a Hadoop Map oldalán csatlakozik a Vs.-hez. csatlakozik. Ismerje meg, mi a térképcsökkentés, az asztalhoz való csatlakozás, az összekapcsolás oldala, a térképoldali összekapcsolási művelet Hive-ban történő használatának előnyei

Ebben a blogban a következőkről fogunk beszélgetni Térképoldali csatlakozás és előnyei a szokásos illesztési művelettel szemben Kaptár .Ez egy fontos koncepció, amelyet meg kell tanulnia a koncepció megvalósításához .De mielőtt tudnánk erről, először meg kell értenünk a fogalmát 'Csatlakozik' és mi történik belsőleg, amikor végrehajtjuk a csatlakozást Kaptár .



Csatlakozik egy olyan záradék, amely két tábla (vagy adatkészlet) rekordjait egyesíti.
Tegyük fel, hogy két A és B táblázatunk van. Ha összekapcsolási műveletet hajtunk végre rajtuk, akkor az az o f A és B oszlop kombinációját képező rekordokat adja vissza.



Most pedig értsük meg egy példával a normál csatlakozás működését.

Amikor alkalmazzuk a csatlakozási műveletet, a feladat egy Térképcsökkentés feladathoz lesz rendelve, amely két szakaszból áll: a ’Térkép színpad És egy „ Csökkentse a színpadot ’. A térképkészítő feladata a Map Stage alatt: 'olvas' az adatok a csatlakozási táblákból és a 'Visszatérés' az „Csatlakozási kulcs” és „Csatlakozási érték” párosítson egy köztes fájlba. Ezután a keverési szakaszban ez a köztes fájl rendezésre és egyesítésre kerül. A reduktor feladata a redukciós szakaszban az, hogy ezt a rendezett eredményt bevitelként használja, és elvégezze a csatlakozás feladatát.



  • A térképoldali csatlakozás hasonlít a csatlakozáshoz, de az összes feladatot a térképkészítő végzi egyedül.

  • A Map-side Join leginkább kis asztalok számára lesz alkalmas a feladat optimalizálására.



Hogyan optimalizálja a feladatot a térképoldali csatlakozás?

Tegyük fel, hogy két asztalunk van, amelyek közül az egyik egy kis asztal. Amikor beküldünk egy térképcsökkentő feladatot, akkor az eredeti csatlakozással a Map Reduce feladat előtt létrejön egy Map Reduce helyi feladat, amely beolvassa a kis tábla adatait a HDFS-ből, és egy memória-hash táblába tárolja. Olvasás után sorosítja a memóriában levő hash táblázatot hash tábla fájlba.

a gépi tanulás elsajátításának előfeltételei

A következő szakaszban amikor az eredeti csatlakozás Map Reduce feladat fut, a hash tábla fájlban lévő adatokat a Hadoop elosztott gyorsítótárba helyezi át, amely ezeket a fájlokat minden egyes térképkészítő helyi lemezére feltölti. Tehát az összes leképező visszatöltheti ezt az állandó hash tábla fájlt a memóriába, és elvégezheti a csatlakozási munkát, mint korábban. Az optimalizált térképcsatlakozás végrehajtási folyamatát az alábbi ábra mutatja. Optimalizálás után a kis táblázatot csak egyszer kell elolvasni. Akkor is, ha több leképező fut ugyanazon a gépen, az elosztott gyorsítótárnak csak a hash tábla fájl egy példányát kell a gépre tolnia.

A térképoldali csatlakozás előnyei:

  • A térképoldali összekapcsolás segít minimalizálni azokat a költségeket, amelyek a rendezéshez és az egyesítéshez kapcsolódnak keverés és csökkenteni szakasz.
  • A térképoldali csatlakozás a feladat teljesítésének javításában is segít a feladat befejezéséhez szükséges idő csökkentésével.

A térképoldali csatlakozás hátrányai:

  • A térképoldali illesztés csak akkor megfelelő, ha az egyik tábla, amelyen a térképoldali összekapcsolási műveletet hajtja végre, elég kicsi ahhoz, hogy elférjen a memóriában. Ezért nem alkalmas térképoldali összekapcsolás végrehajtására azokon a táblákon, amelyek mindkettőjükben óriási adatok.

Egyszerű példa a térképcsökkentési csatlakozásokra:

Hozzunk létre két táblázatot:

  • Emp : tartalmazza az alkalmazottak adatait, például a munkavállaló nevét, a munkavállalói azonosítót és az osztályt, amelyhez tartozik.

  • Adósság: tartalmazza az olyan részleteket, mint az osztály neve, osztály azonosítója és így tovább.

Hozzon létre két bemeneti fájlt a következő képen látható módon az adatok betöltéséhez a létrehozott táblákba.

alkalmazott.txt

oszt. txt

Most töltsük be az adatokat a táblákba.

hogyan kell használni a trim-et java-ban

Hajtsuk végre a Térkép-oldal Csatlakozik a két táblán, hogy kivonja az osztályok listáját, ahol minden alkalmazott dolgozik.

Itt a második asztal oszt egy kis asztal. Ne feledje, hogy az osztályok száma mindig kevesebb lesz, mint a szervezet alkalmazottainak száma.

Most végezzük el ugyanazt a feladatot a normál Reduce-side csatlakozás segítségével.

Mindkét összekapcsolás végrehajtása során megtalálhatja a két különbséget:

keresztböngésző tesztelés szelén web meghajtóban
  • A térképcsökkentő csatlakozás rövidebb idő alatt elvégezte a munkát, összehasonlítva a normál csatlakozáshoz szükséges idővel.

  • A Map-reduc csatlakozás minden reduktor segítsége nélkül elvégezte a feladatát, míg a normál join egy reduktor segítségével hajtotta végre ezt a feladatot.

Ennélfogva, Térképoldali csatlakozás a legjobb fogadás, amikor az egyik asztal elég kicsi ahhoz, hogy elférjen a memóriában, hogy rövid időn belül elvégezhesse a munkát.

Ban ben Valós idejű környezet , hatalmas mennyiségű adattal lesznek adatkészletei. Tehát az elemzés és az adatok visszakeresése időigényes lesz, ha az egyik adatkészlet kisebb méretű. Ilyen esetekben Térképoldali csatlakozás segít rövidebb idő alatt elvégezni a munkát.

Még soha nem volt jobb idő Hadoop elsajátítására! Kezdje el most az Edureka speciálisan kurált Big Data és Hadoop tanfolyamával.

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

Kapcsolódó hozzászólások:

A Big Data képzés 7 módon változtathatja meg szervezetét