.
Besoin
Paralléliser massivement des calculs.
Analyse
Le principe de MapReduce est de décomposer un traitement en plusieurs sous-traitements parallélisables. Une telle
décomposition du problème à traiter demande souvent une expertise et n'est pas possible pour tous les cas.
Conception
- Une liste de couples clé-valeur (comme utilisées dans des ECV ou BDOD) typiquement très grande (de l'ordre du To, voire
du Po)
- Map : est partitionnée en différents lots (splits)
- Dont des mappers (parallélisables) produisent chacun une liste intermédiaire en sortie
- Shuffle (une fois toutes les maps terminées) : Les résultats des opérations map sont
fusionnées et triées en fonction des valeurs de clés
- Reduce : les listes intermédiaires sont traitées en fonction du problème à résoudre, pour
fournir un résultat agrégeable à un résultat total.
Exemples
Cas d'utilisation
Des exemples d'application de MapReduce sont :
- la construction d'annuaires inversés (quels pages contiennent quels mots-clés) de Google
Des outils permettant de convertir un problème donné en problème traitable par MapReduce sont :