Video: Hadoop MapReduce Data Flow | Hadoop Training Videos | Mr. Srinivas 2024
MapReduce är en programmeringsmodell för bearbetning av dataset som lagras på ett distribuerat sätt över en Hadoop-klusters slavnoder. Nyckelbegreppet här är dela och erövra. Specifikt vill du bryta en stor dataset i många mindre bitar och bearbeta dem parallellt med samma algoritm.
Med Hadoop Distributed File System (HDFS) är filerna redan uppdelade i bitar i bitar. MapReduce är vad du använder för att bearbeta alla bitar.
MapReduce-applikationer har flera faser, som anges i listan:
-
Bestäm exakta dataset för att bearbeta från datablocken. Detta innebär att beräkna var de poster som ska bearbetas ligger i datablocken.
-
Kör den angivna algoritmen mot varje post i datasatsen tills alla poster är bearbetade.
Den enskilda förekomsten av applikationen som körs mot ett datablock i en dataset kallas en mapper-uppgift. (Detta är mappdelen av MapReduce.)
-
Utför lokalt en mellanliggande minskning av produktionen från varje mapp.
(Utgångarna är preliminärt kombinerade, med andra ord.) Den här fasen är valfri eftersom det i vissa vanliga fall inte är önskvärt.
-
Gruppera de tillämpliga partitionerna av data från varje mappers resultatuppsättningar baserat på partitioneringskrav.
-
Kyl ner resultatuppsättningarna från mapparna till en enda resultatuppsättning - Reducera delen av MapReduce.
En enskild instans av applikationen som körs mot mapper-utgångsdata är känd som en reduktionsuppgift . (Så konstigt som det kan tyckas, eftersom "Reduce" är en del av MapReduce-namnet kan denna fas vara frivillig; program utan reducerare kallas map-only jobs , vilket kan vara användbart när det inte finns något måste kombinera resultatuppsättningarna från kartuppgifterna.)