Mi az a MapReduce a Hadoopban? Nagy adat Architectúra

Mi az a MapReduce a Hadoopban?

MapReduce egy szoftver keretrendszer és programozási modell, amelyet hatalmas mennyiségű adat feldolgozására használnak. MapReduce program két fázisban, nevezetesen a Map és Reduce. A térképfeladatok az adatok felosztásával és leképezésével foglalkoznak, míg a Reduce feladatok keverednek és csökkentik az adatokat.

A Hadoop különböző nyelveken írt MapReduce programokat képes futtatni: Java, Ruby, Pythonés C++. A Map Reduce felhőalapú számítástechnikai programjai párhuzamos természetűek, így nagyon hasznosak nagyszabású adatelemzések elvégzésére a fürtben több géppel.

Az egyes fázisok bemenete a kulcs érték párok. Ezenkívül minden programozónak meg kell határoznia két funkciót: térkép funkció és a csökkenti a funkciót.

MapReduce Archia Big Data-ban a példával magyarázott szerkezet

Az egész folyamat a végrehajtás négy fázisán megy keresztül, nevezetesen a felosztáson, a leképezésen, a keverésön és a redukción.

Most ebben a MapReduce oktatóanyagban értsük meg egy MapReduce példával –

Vegye figyelembe, hogy a következő bemeneti adatokkal rendelkezik a MapReduce in Big data program

Welcome to Hadoop Class
Hadoop is good
Hadoop is bad
MapReduce Architectúra
MapReduce Architectúra

A MapReduce feladat végső kimenete az

rossz 1
Osztály 1
1
Hadoop 3
is 2
nak nek 1
Onboarding, integráció 1

Az adatok a MapReduce in Big Data következő fázisain mennek keresztül

Bemeneti felosztások:

A MapReduce in Big Data-feladat bemenete rögzített méretű darabokra van osztva bemenet felosztja A bemeneti felosztás a bemenet azon része, amelyet egyetlen térkép fogyaszt el

Mapping

Ez a legelső fázis a map-redukciós program végrehajtásában. Ebben a fázisban az egyes felosztások adatait egy leképezési függvénynek továbbítják, hogy kimeneti értékeket állítsanak elő. Példánkban a leképezési fázis feladata, hogy megszámolja az egyes szavak előfordulásának számát a bemeneti felosztásokból (a bemeneti felosztással kapcsolatos további részleteket alább találja), és elkészít egy listát

Keverés

Ez a fázis felhasználja a leképezési fázis kimenetét. Feladata a vonatkozó rekordok konszolidálása a Mapping fázis kimenetéből. Példánkban ugyanazok a szavak vannak összevonva a megfelelő gyakoriságukkal együtt.

csökkentő

Ebben a fázisban a Shuffling fázis kimeneti értékei összesítésre kerülnek. Ez a fázis a Keverési fázis értékeit egyesíti, és egyetlen kimeneti értéket ad vissza. Röviden, ez a fázis összefoglalja a teljes adatkészletet.

Példánkban ez a fázis összesíti a Keverési fázis értékeit, azaz kiszámítja az egyes szavak összes előfordulását.

MapReduce Architecture részletesen kifejtve

  • Minden felosztáshoz létrejön egy leképezési feladat, amely ezután leképezési funkciót hajt végre a felosztásban lévő minden rekordhoz.
  • Mindig előnyös a többszörös felosztás, mert a felosztás feldolgozásához szükséges idő rövid a teljes bemenet feldolgozásához szükséges időhöz képest. Ha a felosztások kisebbek, a feldolgozást jobb kiegyensúlyozottan tölteni, mivel párhuzamosan dolgozzuk fel a felosztásokat.
  • Ugyanakkor az sem kívánatos, hogy a hasadások túl kicsik legyenek. Ha a felosztások túl kicsik, a felosztások kezelésének és a leképezési feladatok létrehozásának túlterhelése kezd uralni a teljes feladat-végrehajtási időt.
  • A legtöbb munkához jobb, ha egy HDFS-blokk méretével megegyező osztott méretet készít (amely alapértelmezés szerint 64 MB).
  • A leképezési feladatok végrehajtása azt eredményezi, hogy a kimenetet a megfelelő csomópont helyi lemezére írják, nem pedig HDFS-re.
  • A HDFS helyett a helyi lemez választásának oka a replikáció elkerülése, amely HDFS tároló működése esetén történik.
  • A térképkimenet egy köztes kimenet, amelyet redukciós feladatokkal dolgoznak fel a végső kimenet létrehozása érdekében.
  • A munka befejezése után a térképkimenet kidobható. Így HDFS-ben való tárolása replikációval túlzásba esik.
  • Csomóponthiba esetén, mielőtt a leképezési kimenetet felhasználná a redukciós feladat, a Hadoop újrafutja a leképezési feladatot egy másik csomóponton, és újra létrehozza a leképezési kimenetet.
  • A feladat csökkentése nem működik az adathelység fogalmán. Minden leképezési feladat kimenete a redukciós feladathoz kerül. A térképkimenet átkerül a gépre, ahol a redukciós feladat fut.
  • Ezen a gépen a kimenetet egyesíti, majd átadja a felhasználó által meghatározott csökkentő funkciónak.
  • A térképkimenettel ellentétben a redukált kimenetet a rendszer tárolja HDFS (az első replikát a helyi csomópont, a többi replikát pedig a rack nélküli csomópontokon tárolja). Tehát a kimenetcsökkentés írása

Hogyan működik a MapReduce Organizes?

Ebben a MapReduce oktatóanyagban megtudjuk, hogyan működik a MapReduce

Hadoop feladatokra osztja a munkát. Kétféle feladat létezik:

  1. Térképes feladatok (Felosztás és leképezés)
  2. Csökkentse a feladatokat (Keverés, kicsinyítés)

fent említett.

A teljes végrehajtási folyamatot (mindkettő a Map és Reduce feladatok végrehajtását) kétféle entitás vezérli, ún.

  1. Jobtracker: Úgy viselkedik, mint a mester (felelős a beadott munka teljes körű elvégzéséért)
  2. Több feladatkövető: Úgy viselkedik rabszolgák, mindegyikük elvégzi a feladatot

A rendszerben minden végrehajtásra benyújtott munkához tartozik egy Jobtracker amely azon lakik Namenode és ott vannak több feladatkövető amelyek azon laknak Datanode.

Hogyan működik a Hadoop MapReduce
Hogyan működik a Hadoop MapReduce
  • Egy feladat több feladatra van felosztva, amelyek ezután egy fürt több adatcsomópontján futnak.
  • A feladatkövető feladata a tevékenység koordinálása a különböző adatcsomópontokon futó feladatok ütemezésével.
  • Az egyedi feladat végrehajtását ezután a feladatkövetővel kell felügyelni, amely a feladat egy részét végrehajtó minden adatcsomóponton található.
  • A Task Tracker feladata, hogy elküldje az előrehaladási jelentést a munkakövetőnek.
  • Ezenkívül a feladatkövető rendszeresen küld 'szívdobogás' jelezzen a Jobtrackernek, hogy értesítse őt a rendszer aktuális állapotáról.
  • Így a job tracker nyomon követi az egyes munkák általános előrehaladását. Feladat meghiúsulása esetén a feladatkövető átütemezheti azt egy másik feladatkövetőre.