MapReduce : parallelisation et distribution
Que faire quand l'on doit traiter un grand nombre de données et que l'on dispose uniquement de milliers de CPUs ?
Google propose une architecture qui leur permet d'implémenter la parallelisation et la distribution de certaines de leurs tâches (machine learning, distributed sort, etc...). Le principe est de spécifier une fonction map qui calcule des paires de key/value pour générer un ensemble de valeures intermédiaires (paires de key/value) et une fonction reduce qui fusionne toutes les valeures intermédiaires associées aux mêmes clés intermédiaires.