Innholdsfortegnelse:
Video: MapReduce Tutorial | What is MapReduce | Hadoop MapReduce Tutorial | Edureka 2025
For å forstå Hadops MapReduces evner, er det viktig å skille mellom MapReduce (algoritmen) og en implementering av MapReduce. Hadoop MapReduce er en implementering av algoritmen utviklet og vedlikeholdt av Apache Hadoop-prosjektet.
Det er nyttig å tenke på denne implementeringen som MapReduce-motor, for det er akkurat slik det fungerer. Du gir input (drivstoff), motoren konverterer inngangen til utdata raskt og effektivt, og du får svarene du trenger.
Hadoop MapReduce inneholder flere faser, hver med et viktig sett med operasjoner som bidrar til å nå målet ditt for å få svarene du trenger fra store data. Prosessen starter med en brukerforespørsel for å kjøre et MapReduce-program og fortsetter til resultatene skrives tilbake til HDFS.
HDFS og MapReduce utfører sitt arbeid på noder i en klynge som er vert på rader av råvareservere. For å forenkle diskusjonen viser diagrammet bare to noder.
Få de store dataene klar
Når en klient ber om et MapReduce-program for å kjøre, er det første trinnet å finne og lese inngangsfilen som inneholder de rå dataene. Filformatet er helt vilkårlig, men dataene må konverteres til noe programmet kan behandle. Dette er funksjonen til InputFormat og RecordReader. InputFormat bestemmer hvordan filen skal brytes ned i mindre stykker for behandling ved hjelp av en funksjon kalt InputSplit.
Deretter tilordnes en RecordReader å transformere de rå dataene for behandling av kartet. Flere typer RecordReaders leveres med Hadoop, og tilbyr et bredt utvalg av konverteringsalternativer. Denne funksjonen er en av måtene Hadoop administrerer det store utvalget av datatyper som finnes i store dataproblemer.
La det store datakartet begynne
Dine data er nå i et form som er akseptabelt å kartlegge. For hvert inngangspar kalles en tydelig forekomst av kart for å behandle dataene. Men hva gjør det med den behandlede utgangen, og hvordan kan du holde styr på dem?
Kartet har to ekstra muligheter for å løse spørsmålene. Fordi kart og redusere behovet for å jobbe sammen for å behandle dataene dine, må programmet samle utdataene fra de uavhengige mapperne og sende det til reduksjonsmaskinene. Denne oppgaven utføres av en OutputCollector. En Reporter-funksjon gir også informasjon hentet fra kartoppgaver, slik at du vet når eller om kartoppgaver er fullført.
Alt dette arbeidet blir utført på flere noder i Hadoop-klyngen samtidig.Det kan hende du har tilfeller hvor produksjonen fra bestemte kartleggingsprosesser må akkumuleres før reduksjonsmaskinene kan begynne. Eller noen av de mellomliggende resultatene må kanskje behandles før reduksjon.
I tillegg kan noe av denne utgangen være på en node som er forskjellig fra noden der reduksjonene for den spesifikke utgangen vil kjøre. Samlingen og blandingen av mellomresultater utføres av en partisjoner og en sortering. Kartoppgaver vil levere resultatene til en bestemt partisjon som innganger for å redusere oppgavene.
Etter at alle kartoppgaver er fullført, blir de mellomliggende resultatene samlet i partisjonen og en shuffling oppstår, sortering av utdataene for optimal behandling ved å redusere.
Redusere og kombinere for store data
For hvert utgangspar kalles reduksjon for å utføre oppgaven. På lignende måte å kartlegge, reduserer samler sin produksjon mens alle oppgavene behandles. Redusere kan ikke starte før all kartlegging er ferdig. Utgangen av å redusere er også en nøkkel og en verdi. Selv om dette er nødvendig for å redusere for å gjøre sitt arbeid, er det kanskje ikke det mest effektive utdataformatet for søknaden din.
Hadoop gir en OutputFormat-funksjon, og det fungerer veldig mye som InputFormat. OutputFormat tar nøkkelverdierparet og organiserer utgangen for skriving til HDFS. Den siste oppgaven er å faktisk skrive dataene til HDFS. Dette utføres av RecordWriter, og det fungerer på samme måte som RecordReader, bortsett fra i omvendt format. Det tar OutputFormat data og skriver det til HDFS i form som er nødvendig for programmets krav.
Samordningen av alle disse aktivitetene ble forvaltet i tidligere versjoner av Hadoop av en jobbplanlegger. Denne planleggeren var rudimentær, og som blandingen av jobber endret seg og vokste, var det klart at en annen tilnærming var nødvendig. Den primære mangelen i den gamle planleggeren var mangelen på ressursforvaltning. Den nyeste versjonen av Hadoop har denne nye muligheten.
Hadoop MapReduce er hjertet av Hadoop-systemet. Det gir alle mulighetene du trenger for å bryte store data i håndterbare biter, behandle dataene parallelt på distribuert klyngen, og deretter gjøre dataene tilgjengelige for brukskonsum eller ytterligere behandling. Og det virker alt dette på en svært motstandsdyktig, feiltolerant måte. Dette er bare begynnelsen.
