MapReduce è un framework per la creazione di applicazioni in grado di elaborare grandi quantità di dati in parallelo basandosi sul concetto di functional programming. MapReduce lavora secondo il principio del divide et impera, suddividendo l’operazione di calcolo in diverse parti processate in modo autonomo. Una volta che ciascuna parte del problema è stata calcolata, i vari risultati parziali sono “ridotti” (cioè ricomposti) a un unico risultato finale. È MapReduce stesso che si occupa dell’esecuzione dei vari task di calcolo, del loro monitoraggio e della ripetizione dell’esecuzione in caso si verifichino problemi.(vedi Hadoop)