Geek Dirt

ápr 24, 2021

a Hadoop sorozat első bejegyzésében a Hadoop bevezetése és a map-reduce program futtatása során elmagyaráztam a Map-Reduce alapjait. Ebben a bejegyzésben elmagyarázom a különböző összetevőket, például a particionálást, a keverést, a kombinálást, az egyesítést, az első rendezést, majd a működését.

particionálás:

ha a reduktorok száma 2 és a hash függvény:

#This function would return the data passes in itfunction hash(data){#this is just for example purposereturn data;}

ezután az 1. kulcshoz:

partíció száma = hash(1) % 2 = 1;

a kulcs 2:

partíció száma = hash(2) % 2 = 0;

a 4. kulcshoz:

partíció száma = hash(4) % 2 = 0;

ez azt jelenti, hogy az 1. kulcs kimenete a partition_1, a 2.és 4. kulcs kimenete pedig a partition_0.

Shuffle:

a leképezési feladat végső kimenetében több partíció is lehet, és ezeknek a partícióknak különböző csökkentési feladatokra kell menniük. A keverés alapvetően a térkép kimeneti partícióinak átvitelét jelenti a megfelelő csökkentési feladatokhoz. Map task notified application master a map task befejezéséről, az application master pedig értesíti a megfelelő szűkítőt, hogy másolja a térkép kimenetét a reduce machine-be.

kombináló:

Válogatás:

ez csak válogatás az adatok alapján kulcsokat.

összevonás:

ez a reduktor oldalán történik. A Reducer több térképfeladatból kaphat adatokat, és összevonásával egyesíti a különböző térképfeladatok adatait egyetlen egységben, fenntartva a rendezési sorrendet.

térkép-részletesen csökkentse:

Térkép:

memóriája circular buffer és közvetlenül a bufferbe ír. Amikor a buffer eléri a küszöbértéket (alapértelmezett 80%), akkor a spill file – ra kezd írni egy külön background thread – on keresztül. Térkép feladat is írni, hogy a kimenet puffer, míg a háttér szál fut. Írás előtt, hogy öntsön fájlt, térkép kimenet, amely kulcs-érték párok particionált és rendezve. Ha van egy kombináló, akkor az is fut, ami csökkenti a kimeneti méretet.

a feladat után az összes kiömlő fájl újra rendezésre kerül, és egyetlen fájl jön létre, amelyet particionálnak és rendeznek. Azt jelenti, hogy ez a végső kimeneti fájl több partícióval rendelkezik. Miután map feladat befejeződött egy csomópont kimenete küldött szűkítő. Ezért látja a tevékenység csökkentése 0% – nál nagyobb értéket, míg a leképezés kevesebb, mint <100%.

ha csak térképes feladatod van, akkor egyáltalán nincs keverés, ami azt jelenti, hogy a mapperek a végső kimenetet közvetlenül a HDFS-re írják.

csökkentés:

miután megkapta az adatokat a térkép feladatból, az adatokat egyetlen egységbe egyesíti a merge phase alatt. Ahelyett, hogy az összes fájlt közvetlenül egyesítené, a koncepciót használja merge factor, amelynek célja a lemezre írt adatok mennyiségének minimalizálása. Ezután a reduce fázis alatt a reduce függvény a rendezett kimenet minden kulcsához meghívásra kerül. Ennek a fázisnak a kimenete közvetlenül a kimeneti fájlrendszerbe van írva, jellemzően HDFS.

hasznos linkek:

a fonal bemutatása és megmunkálása

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.