0% ont trouvé ce document utile (0 vote)
6 vues4 pages

MapReduce en Python : Guide Pratique

Ce TP vise à découvrir et pratiquer le modèle MapReduce en Python, en se concentrant sur les étapes Map, Shuffle et Reduce. Les étudiants apprennent à installer Python, configurer un environnement de travail, et exécuter un mini-job MapReduce, tout en comprenant le traitement parallèle de grandes quantités de données. Le programme final compte la fréquence des mots dans un texte donné, illustrant l'efficacité du modèle MapReduce.

Transféré par

aichanaciri73
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues4 pages

MapReduce en Python : Guide Pratique

Ce TP vise à découvrir et pratiquer le modèle MapReduce en Python, en se concentrant sur les étapes Map, Shuffle et Reduce. Les étudiants apprennent à installer Python, configurer un environnement de travail, et exécuter un mini-job MapReduce, tout en comprenant le traitement parallèle de grandes quantités de données. Le programme final compte la fréquence des mots dans un texte donné, illustrant l'efficacité du modèle MapReduce.

Transféré par

aichanaciri73
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP: MapReduce en Python

Année universitaire : 2025-2026


Module : Big Data
Prof : Mr Elkabtane Hamada

Réalisé par :

Bohui Obrou Constant


Correia Embana Anumario
Moukbil Said Mohamed Said Ali

Ce TP a pour objectif de découvrir et de mettre en pratique le MapReduce à travers un


exemple simple implémenté en Python. L’objectif est de comprendre le fonctionnement des
étapes Map, Shuffle et Reduce, et d’apprendre à exécuter un mini-job MapReduce
localement sans Hadoop.

Partie 1 : Installation de Python


■ Comment installer Python sur Windows ?

1. Accéder au site officiel : [Link]


2. Télécharger la version la plus récente de Python 3.x (par ex. Python 3.12).
3. ⚠️Lors de l’installation, cocher la case « Add Python to PATH ».
4. Cliquer sur « Install Now » et attendre la fin de l’installation.
5. Vérifier l’installation en ouvrant l’invite de commande (cmd) et en exécutant :
python --version
ou
py –version

■ Comment installer Python sur Ubuntu ?

1. Ouvrir le terminal (Ctrl + Alt + T)


2. Mettre à jour la liste des paquets et le système :
sudo apt update && sudo apt upgrade -y
3. Installer Python :
sudo apt install python3 -y ou sudo apt install python3 python3-pip -y
4. Vérifier l’installation:
python3 --version
Partie 2 :

Configuration de l’environnement dans VS Code sur windows


■ Comment créer le projet ?

1. Créer un dossier nommé mapreduce dans vos Documents.


2. Ouvrir Visual Studio Code → Fichier → Ouvrir un dossier → sélectionner mapreduce
3. Dans ce dossier, créer deux fichiers :
- [Link]
- simple_mapreduce.py

Configuration du projet MapReduce sur Linux

■ Création du dossier de travail :

1. Créer un dossier pour le projet :


mkdir ~/mapreduce
2. Entrer dans le dossier :
cd ~/mapreduce
3. Créer deux fichiers :
- [Link]
- [Link]

■ Contenu du fichier [Link] :

_________________________________________________________________________________________________________

MapReduce est un modèle de programmation utilisé dans le cadre du Big Data, notamment avec
Hadoop, pour traiter de grandes quantités de données de manière parallèle et distribuée.

Il repose sur deux phases principales :

La phase Map (Mappage) : les données sont divisées en petits blocs, puis chaque bloc est traité
séparément par différentes machines. Cette étape permet d’extraire des informations clés (par
exemple, compter les mots dans un texte ou trier des valeurs).

La phase Reduce (Réduction) : les résultats intermédiaires obtenus lors du mappage sont regroupés
et combinés pour produire le résultat final (par exemple, additionner les comptes de chaque mot).

Ce modèle permet donc de traiter efficacement d’énormes volumes de données en distribuant la


charge de travail sur plusieurs ordinateurs (nœuds) d’un cluster Hadoop.

En résumé, MapReduce simplifie le traitement massif de données en le divisant en tâches plus


petites, exécutées en parallèle, puis en regroupant les résultats pour obtenir une sortie unique.
_________________________________________________________________________________________________________
Partie 3 : Programme MapReduce en Python
■ Contenu du fichier [Link] :

_________________________________________________________________________________________________________
# simple_mapreduce.py
import re
import unicodedata
from collections import defaultdict

# Si vous souhaitez supprimer les accents (pour regrouper « é » et « e »), définissez sur True
REMOVE_ACCENTS = True

def normalize(word):
w = [Link]() #convertir tout en minuscules
if REMOVE_ACCENTS:
nk = [Link]("NFKD", w)
w = ''.join(ch for ch in nk if not [Link](ch))
return w

def map_function(line):
# Extrait les mots de la ligne
words = [Link](r"\w+", line, flags=[Link])
for w in words:
yield (normalize(w), 1)

def reduce_function(pairs):
counts = defaultdict(int)
for k, v in pairs:
counts[k] += v
for k, c in [Link]():
yield (k, c)

def main():
# Lire le fichier texte
with open("[Link]", "r", encoding="utf-8") as f:
lines = [Link]()

# Phase MAP
mapped = []
print("=== ÉTAPE MAP ===")
for i, line in enumerate(lines):
line_pairs = list(map_function(line))
print(f"Ligne {i + 1}: {line_pairs}")
[Link](line_pairs)

# Phase SHUFFLE (regroupement)


[Link](key=lambda kv: kv[0])
print("\n=== ÉTAPE SHUFFLE ===")
for kv in mapped:
print(kv)

# Phase de RÉDUCTION
reduced = list(reduce_function(mapped))
print("\n=== ÉTAPE REDUCE ----- RÉSULTAT FINAL (mot → nombre) ===")
for k, v in sorted(reduced):
print(f"{k}: {v}")

if __name__ == "__main__":
main()
_________________________________________________________________________________________________________
■ Comment exécuter le script sur windows:

1. Ouvrir le terminal intégré de VS Code (Terminal → Nouveau Terminal).


2. Exécuter la commande :
python [Link]

■ Comment exécuter le script sur Linux:

1. Dans le terminal, se placer dans le dossier du projet :


cd ~/mapreduce
2. Lancer le programme :
python3 [Link]

Partie 4 : Interprétation des résultats


Lors de l’exécution du script, trois étapes principales apparaissent :
- **Étape MAP** : chaque ligne est découpée en mots et associée à la valeur 1.
- **Étape SHUFFLE** : les paires (mot, 1) sont triées et regroupées par mot identique.
- **Étape REDUCE** : les valeurs sont additionnées pour chaque mot afin d’obtenir le
nombre total d’occurrences.

Ainsi, le programme compte la fréquence de chaque mot dans le texte fourni.

Conclusion
Ce TP a permis de comprendre le principe du modèle MapReduce à travers un exemple
concret en Python. Les étudiants ont pu apprendre à installer Python, configurer un
environnement de travail, et exécuter un mini-job MapReduce. Ce travail met en évidence la
puissance du paradigme MapReduce pour le traitement parallèle et la manipulation de
grands volumes de données.

Vous aimerez peut-être aussi