Video: 1.7 the Mapreduce Paradigm 14:14 2025
MapReduce er et programmeringsparadigm som ble designet for å tillate parallell distribuert behandling av store sett med data, konvertere dem til sett med tuples, og deretter kombinere og redusere disse tuples i mindre sett med tuples. I layman sikt ble MapReduce designet for å ta store data og bruke parallell distribuert databehandling for å slå store data til små eller vanlige data.
Parallell distribuert prosessering refererer til et kraftig rammeverk hvor masse volumdata behandles veldig raskt ved å distribuere behandlingsoppgaver på tvers av råvareservere. Med hensyn til MapReduce, tuples , refererer til nøkkelverdige-par med hvilke data grupperes, sorteres og behandles.
MapReduce jobber jobber via kart og reduserer prosessoperasjonssekvenser på tvers av et distribuert sett av servere. I kartoppgave delegerer du dataene dine til nøkkelverdigepar, forvandler det og filtrerer det. Deretter tilordner du dataene til noder for behandling.
I redusere oppgaven , aggregerer du dataene ned til mindre datasett. Data fra reduksjonstrinnet omformes til et standard nøkkelverdierformat - der -tasten virker som postidentifikator og -verdien er verdien som blir identifisert ved nøkkelen. Klyngenes databehandlingsnoder behandler kartet og reduserer oppgaver som er definert av brukeren. Dette arbeidet gjøres i samsvar med følgende to trinn:
-
Kart dataene.
De innkommende dataene må først delegeres til nøkkelverdier og deles i fragmenter, som deretter tilordnes kartoppgaver. Hver databehandlingskluster - en gruppe noder som er koblet til hverandre og utfører en delt databehandling - tilordnes et antall kartoppgaver, som deretter distribueres mellom nodene.
Ved bearbeiding av nøkkelverdiparene genereres mellomliggende nøkkelverdierpar. De mellomliggende nøkkelverdier-parene er sortert etter deres nøkkelverdier, og denne listen er delt inn i et nytt sett med fragmenter. Uansett hva du har for disse nye fragmentene, vil det være det samme som antallet av redusere oppgaver.
-
Reduser dataene.
Hver reduksjonsoppgave har et fragment tildelt det. Reduksjonsoppgaven behandler bare fragmentet og produserer en utgang, som også er et nøkkelverdierpar. Redusere oppgaver distribueres også blant de forskjellige nodene i klyngen. Etter at oppgaven er fullført, skrives den endelige utgangen på et filsystem.
Kort sagt, du kan raskt og effektivt koble deg ned og begynne å fornemme et stort volum, hastighet og forskjellige data ved å bruke kart og redusere oppgaver for å merke dataene dine med (nøkkel, verdi) par og deretter redusere disse parene i mindre sett med data gjennom aggregeringsoperasjoner - operasjoner som kombinerer flere verdier fra et datasett til en enkelt verdi.Et diagram over MapReduce-arkitekturen finner du her.
Hvis dataene dine ikke gir seg til å bli merket og behandlet via nøkler, verdier og aggregering, er kart og redusere generelt ikke en god form for dine behov.
Hvis du bruker MapReduce som en del av en Hadoop-løsning, skrives den endelige utgangen på Hadoop Distributed File System (HDFS). HDFS er et filsystem som inneholder klynger av vare servere som brukes til å lagre store data. HDFS gjør stor datahåndtering og -lagring økonomisk gjennomførbar ved å distribuere lagringsoppgaver på tvers av klynger av billige vare servere.
