MapReduce: Forenklet Databehandling På Store Klynger

MapReduce Er en programmeringsmodell og en tilknyttet implementering for behandling og generering av store datasett. Brukere angir en kartfunksjon som behandler et nøkkel / verdipar for å generere et sett med mellomliggende nøkkel / verdipar, og en reduksjonsfunksjon som slår sammen alle mellomliggende verdier knyttet til samme mellomliggende nøkkel. Mange virkelige oppgaver er uttrykkbare i denne modellen, som vist i papiret.

Programmer skrevet i denne funksjonelle stilen blir automatisk parallellisert og utført på en stor klynge av råvaremaskiner. Kjøretidssystemet tar seg av detaljene for partisjonering av inngangsdata, planlegging av programmets utførelse på tvers av et sett med maskiner, håndtering av maskinfeil og styring av nødvendig kommunikasjon mellom maskiner. Dette gjør at programmerere uten erfaring med parallelle og distribuerte systemer enkelt kan utnytte ressursene til et stort distribuert system.

vår implementering Av MapReduce kjører på en stor klynge av råvaremaskiner og er svært skalerbar: en typisk MapReduce-beregning behandler mange terabyte data på tusenvis av maskiner. Programmerere finne systemet enkelt å bruke: hundrevis Av MapReduce programmer har blitt implementert og oppover på tusen MapReduce jobber utføres På Googles klynger hver dag.

HTML-Lysbilder