Aller au contenu

Test MrJob Hadoop

Table des Matières



Test de MrJob sur le cluster Hadoop

Nous allons ici faire fonctionner à nouveau l’algorithme de comptage de mots sur le cluster Hadoop, mais cette fois avec la librairie MrJob que vous venez de découvrir.

Lancer le cluster

Si le cluster Docker n’est pas déjà lancé, depuis le répertoire du repo hadoop-cluster-docker :

docker compose up -d
docker compose exec hadoop-master bash
check-cluster.sh

Tu dois voir tous les éléments marqués . Sinon, voir la page de dépannage. Pour rappel, depuis la version 5 de l’image, HDFS et YARN démarrent automatiquement — pas besoin de start-dfs.sh / start-yarn.sh.

Vérifie que HDFS est bien monté et que le fichier dracula déposé lors du TP précédent est toujours là (les données HDFS sont persistées entre les sessions) :

hadoop fs -ls input

Supprime le répertoire sortie sur HDFS (au cas où) :

hadoop fs -rm -r -f sortie

⚠ N’oublie pas de faire cette dernière commande entre deux exécutions d’un même job.

Lancer un algorithme sur le cluster

  • Déplace-toi dans le répertoire :

    cd ~/TP_Hadoop/wordcount
    

  • Lance le job sur le cluster Hadoop :

    python3 wc_mrjob_1.py -r hadoop < dracula > resultHadoop.txt
    
    Cette commande lance le job sur le cluster Hadoop, mais exploite le fichier d’entrée (dracula) en local (celui qui se trouve dans le répertoire de travail), et non le fichier stocké sur HDFS.

  • Voici la commande pour accéder au fichier dracula stocké dans le répertoire input sur HDFS :

    python3 wc_mrjob_1.py -r hadoop hdfs:///user/root/input/dracula > resultHadoop.txt
    

ℹ Il est également possible de lancer un job sur EMR (Elastic Map Reduce) de Amazon Web Services ou Dataproc de Google Cloud en remplaçant -r hadoop par -r emr ou -r dataproc. La syntaxe MrJob est portable.