Video: Hadoop MapReduce Data Flow | Hadoop Training Videos | Mr. Srinivas 2025
MapReduce er i sin kerne en programmeringsmodel til behandling af datasæt, der opbevares på en distribueret måde over en Hadoop-klynges slaveknude. Nøglekonceptet her er opdele og erobre. Specifikt vil du slå et stort datasæt i mange mindre stykker og behandle dem parallelt med den samme algoritme.
Med Hadoop Distributed File System (HDFS) er filerne allerede opdelt i bitformede stykker. MapReduce er, hvad du bruger til at behandle alle stykker.
MapReduce-applikationer har flere faser, som angivet i denne liste:
-
Bestem de nøjagtige datasæt til at behandle fra datablokkerne. Dette indebærer beregning hvor de poster, der skal behandles, er placeret inden for datablokkerne.
-
Kør den angivne algoritme mod hver post i datasættet, indtil alle registreringer er behandlet.
Den enkelte forekomst af applikationen, der kører mod en data blok i et datasæt, kaldes en mapper opgave. (Dette er kortlægningsdelen af MapReduce.)
-
Udfør lokalt en foreløbig reduktion af output fra hver mapper.
(Udgangene er foreløbigt kombineret, med andre ord.) Denne fase er valgfri, fordi det i nogle almindelige tilfælde ikke er ønskeligt.
-
Baseret på partitioneringskrav grupperer du de relevante partitioner af data fra hver mappers resultatsæt.
-
Kog resultatet sættene fra mapperne til et enkelt resultat sæt - Reducer del af MapReduce.
En individuel forekomst af applikationen, der kører mod mapper-outputdata, kaldes en reduceringsopgave . (Så mærkeligt som det kan synes, da "Reducer" er en del af MapReduce-navnet, kan denne fase være valgfri; applikationer uden reducer er kendt som kort-kun job , hvilket kan være nyttigt, når der ikke er nogen skal kombinere resultatsætene fra kortopgaverne.)