Vidéo: Automatiser HADOOP BIG DATA (explications en 2 minutes en français) 2024
À la base, MapReduce est un modèle de programmation pour le traitement des ensembles de données stockés de manière répartie sur les nœuds esclaves d'un cluster Hadoop. Le concept clé ici est diviser pour régner. Plus précisément, vous voulez diviser un grand ensemble de données en plusieurs parties plus petites et les traiter en parallèle avec le même algorithme.
Avec le système de fichiers distribués Hadoop (HDFS), les fichiers sont déjà divisés en morceaux. MapReduce est ce que vous utilisez pour traiter toutes les pièces.
Les applications MapReduce comportent plusieurs phases, comme indiqué dans cette liste:
-
Déterminez les ensembles de données exacts à traiter à partir des blocs de données. Cela implique de calculer où les enregistrements à traiter sont situés dans les blocs de données.
-
Exécutez l'algorithme spécifié sur chaque enregistrement de l'ensemble de données jusqu'à ce que tous les enregistrements soient traités.
L'instance individuelle de l'application s'exécutant sur un bloc de données dans un ensemble de données est appelée une tâche de mappeur . (Ceci est la partie cartographique de MapReduce.)
-
Effectue localement une réduction intermédiaire de la sortie de chaque mappeur.
(En d'autres termes, les sorties sont provisoirement combinées.) Cette phase est facultative car, dans certains cas, elle n'est pas souhaitable.
-
En fonction des exigences de partitionnement, regroupez les partitions de données applicables des ensembles de résultats de chaque mappeur.
-
Réduisez les ensembles de résultats des mappeurs en un seul jeu de résultats - la partie Réduire de MapReduce.
Une instance individuelle de l'application s'exécutant sur les données de sortie du mappeur est appelée tâche réductrice . (Aussi étrange que cela puisse paraître, puisque "Reduce" fait partie du nom de MapReduce, cette phase peut être optionnelle, les applications sans réducteur sont appelées jobs de carte , ce qui peut être utile quand il n'y a pas de besoin de combiner les ensembles de résultats des tâches de la carte.)