Video: Hadoop MapReduce Data Flow | Hadoop Training Videos | Mr. Srinivas 2025
MapReduce er i sin kjerne en programmeringsmodell for behandling av datasett som er lagret på en distribuert måte over en Hadoop-klynges slaveknuter. Nøkkelbegrepet her er divider og erobrer. Spesifikt vil du kaste et stort datasett inn i mange mindre stykker og behandle dem parallelt med samme algoritme.
Med Hadoop Distributed File System (HDFS), er filene allerede delt inn i bitbitstørrelser. MapReduce er det du bruker til å behandle alle brikkene.
MapReduce-applikasjoner har flere faser, som stavet ut i denne listen:
-
Bestem de nøyaktige datasettene som skal behandles fra datablokker. Dette innebærer å beregne hvor postene som skal behandles er plassert i datablokker.
-
Kjør den angitte algoritmen mot hver post i datasettet til alle postene er behandlet.
Den enkelte forekomsten av applikasjonen som kjører mot en blokk med data i et datasett er kjent som en mapper-oppgave. (Dette er kartleggingsdelen av MapReduce.)
-
Utfør en foreløpig reduksjon av utgangen på hver mapper.
(Utgangene er foreløpig kombinert, med andre ord.) Denne fasen er valgfri fordi det i noen vanlige tilfeller ikke er ønskelig.
-
Basert på partisjonskrav grupperer du de aktuelle partisjonene av data fra hver mappers resultatsett.
-
Kald ned resultatene fra mapperne til et enkelt resultatsett - Reduser delen av MapReduce.
En individuell forekomst av programmet som kjører mot mapper-utdata er kjent som en reduksjonsoppgave . (Så rart som det kan virke, siden "Reduser" er en del av MapReduce-navnet, kan denne fasen være valgfri; programmer uten reduksjonsprogrammer er kjent som bare kart-stillinger , som kan være nyttige når det ikke er noe må kombinere resultatsettene fra kartoppgaver.)
