Vous êtes sur la page 1sur 24

École supérieure de technologie – Meknès

Compte Rendu – TP2 -


Hadoop
Prof : S. NASIRI

Département : GI

Option : AISciD (S5)

A.U : 2022 - 2023

Adil Alami
11-15-2022
TABLE DES MATIÈRES
I. Objectif : .......................................................................................................................................................................................... 1

II. Partie 1 : Manipulation en HDFS ................................................................................................................................. 1

1. Creation d’un repertoire dans HDFS ............................................................................................................ 2

2. Copier un fichier texte au répertoire ........................................................................................................... 2

3. Lister le contenu du dossier myinput.......................................................................................................... 3

4. Visualiser les derniers lignes du fichier : ................................................................................................... 3

5. Afficher le contenu du fichier : ........................................................................................................................... 4

6. Renommer un fichier : ............................................................................................................................................... 4

7. Supprimer un fichier : ................................................................................................................................................. 4

8. Supprimer un repertoire et son contenu: ............................................................................................... 5

III. Partie 2 : Map Reduce avec python ................................................................................................................... 6

1. Exercice 1 : Occurrence d’un mot .................................................................................................................... 6

a. Créer un répertoire dans HDFS, appelé mydata ........................................................................ 6

b. Copier le fichier poem.txt dans HDFS sous le répertoire mydata .............................. 6

c. Afficher le contenu du dossier mydata .............................................................................................. 6

d. Creation du Mapper .............................................................................................................................................. 6

e. Création du Reducer ............................................................................................................................................. 7

f. Lancer un Job entire .............................................................................................................................................. 8

g. Le repertoire de sortie .......................................................................................................................................... 8

2. Exercice 2 : Total des ventes par magasin ............................................................................................ 9

a. Copier le fichier "achat.txt" dans HDFS sous le répertoire mydata ........................... 9

b. Creation du Mapper ............................................................................................................................................ 10

c. Création du Reducer ............................................................................................................................................. 11

d. Lancer un Job entier .............................................................................................................................................. 11

e. Le resultat ......................................................................................................................................................................... 11

IV. Partie 3 : Map Reduce avec JAVA .................................................................................................................. 12

1. Étape 1 ...................................................................................................................................................................................... 12

a. Donner des autorisations ................................................................................................................................ 12

b. SalesMapper.java .................................................................................................................................................... 12
c. SalesCountryReducer.java .............................................................................................................................13

d. SalesCountryDriver.java ................................................................................................................................... 14

2. Étape 2 .................................................................................................................................................................................... 14

3. Étape 3 .................................................................................................................................................................................... 15

4. Étape 4.................................................................................................................................................................................... 15

5. Étape 5.................................................................................................................................................................................... 16

6. Étape 6..................................................................................................................................................................................... 17

7. Étape 7 ..................................................................................................................................................................................... 17

8. Étape 8.................................................................................................................................................................................... 18

9. Étape 9.................................................................................................................................................................................... 19
I. OBJECTIF :
Manipulation des fichiers dans le système de fichiers distribue HDFS et lancement
des traitements MapReduce.

II. PARTIE 1 : MANIPULATION EN HDFS


Commençons par démarrer le service HDFS en utilisant "start-dfs.sh" et "start-
yarn.sh"

 Start-dfs.sh
 Start-yarn.sh

Figure 1 : Démarrage de HDFS à l'aide de start-dfs.sh

Figure 2 : Démarrage de HDFS à l'aide de start-yarn.sh

November 15, 2022 1


Adil ALAMI | Compte Rendu – TP-2 Hadoop
S'assurer que NameNode et DataNode sont activés à l'aide de la commande jps

 Jps

Figure 3 : Vérification de l'activation à l'aide de jps

Créez un répertoire dans HDFS, appele myinput. Pour cela tapez :

 Hadoop fs -mkdir /myinput

Figure 4 : Création d'un répertoire avec mkdir

Créez d'abord un fichier texte nommé poem.txt en utilisant la commande cat et


insérez-y du texte

 cat >> poem.txt


 ‘some text here’

Figure 5 : Création d'un fichier texte avec cat

November 15, 2022 2


Adil ALAMI | Compte Rendu – TP-2 Hadoop
Copiez ensuite le fichier texte dans le répertoire myinput :

 Hadoop fs -put poem.txt /myinput

Figure 6 : Copier le fichier texte en utilisant -put

La commande suivante permet de lister le contenu du dossier myinput

 Hadoop fs -ls /myinput

Figure 7 : Lister le contenu du répertoire myinput

Pour visualiser les dernières lignes du fichier, tapez :

 Hadoop fs -tail /myinput.poem.txt

Figure 8 : Visualisation des dernières lignes du fichier

November 15, 2022 3


Adil ALAMI | Compte Rendu – TP-2 Hadoop
Pour afficher le contenu du fichier, tapez :

 Hadoop fs -cat /myinput/file.txt

Figure 9 : Afficher le contenu du fichier en utilisant -cat

Pour renommer un fichier, tapez :

 Hadoop fs -mv /myinput/file.txt /myinput/newfile.txt


Et en peut visualiser la modification utilisant la commande ls

 Hadoop fs -ls /myinput

Figure 10 : Renommer un fichier avec -mv

• Ancien nom
• La commande pour renommer
• Nouveau nom

Pour supprimer un fichier, tapez :

 Hadoop fs -rm /myinput/newfile.txt

November 15, 2022 4


Adil ALAMI | Compte Rendu – TP-2 Hadoop
Figure 11 : Supprimer un fichier avec -rm

• Anciens fichiers dans le répertoire 'myinput'


• La commande pour supprimer
• Nouveaux fichiers dans le répertoire 'myinput'

Pour supprimer un répertoire, et son contenu récursivement, tapez :

 Hadoop fs -rm -f -r /myinput

Figure 12 : Supprimer un répertoire et son contenu avec -rm -f -r

November 15, 2022 5


Adil ALAMI | Compte Rendu – TP-2 Hadoop
III. PARTIE 2 : MAP REDUCE AVEC PYTHON

Calculer le nombre d’occurrences d’un mot dans un fichier, pour cela :

Pour créer un répertoire dans HDFS, appelé mydata, tapez :

 Hadoop fs -mkdir /mydata

Figure 13 : Création du répertoire mydata avec -mkdir

Pour copier le fichier poem.txt dans HDFS sous le répertoire mydata, taper :

 Hadoop fs -put poem.txt /mydata

Figure 14 : Copier le fichier poem.txt dans mydata en utilisant -put

Pour afficher le contenu du dossier mydata, tapez :

 Hadoop fs -ls /mydata

Figure 15 : Affichage du contenu de dossier mydata

Pour créer le Mapper, tapez le code suivant dans un fichier texte sous nom
mapper1.py

November 15, 2022 6


Adil ALAMI | Compte Rendu – TP-2 Hadoop
Figure 16 : mapper1.py

Pour créer le Reducer, tapez le code suivant dans un fichier texte sous nom
reducer1.py

Figure 17 : reducer1.py

November 15, 2022 7


Adil ALAMI | Compte Rendu – TP-2 Hadoop
Pour lancer un Job entier utilise la commande suivante :

 $ hadoop jar /home/hadoopuser/hadoop/share/hadoop/tools/lib/hadoop-


stre aming-3.3.3.jar -input /mydata/poem.txt -output /result_poem -
file mapper1.py -mapper /h ome/hadoopuser/mapper1.py -file
reducer1.py -reducer /home/hadoopuser/reducer1.py

Figure 18 : Lancement du MapReduce

L'exécution a réussi et le résultat est stocké dans un dossier nommé result_poem


sous le nom part-00000

Figure 19 : Fin de l'opération MapReduce

Le répertoire de sortie "result_poem", après exécution, contiendra un fichier appelé


part-00000

November 15, 2022 8


Adil ALAMI | Compte Rendu – TP-2 Hadoop
Figure 20 : Le résultat de MapReduce

Pour calculer les ventes par magasin, le couple (clef, valeur) à extraire est
(magasin, cout).

Pour faire cela :

Pour copier le fichier "achat.txt" dans HDFS sous le répertoire mydata,


premièrement créer le fichier texte

Figure 21 : Fichier texte achat.txt

November 15, 2022 9


Adil ALAMI | Compte Rendu – TP-2 Hadoop
Apres copier le au répertoire mydata comme suite :

 Hadoop fs -put achat.txt /mydata

Figure 22 : Copie du fichier achat.txt sous le répertoire mydata

Figure 23 : Le fichier achat.txt

Pour créer le Mapper, tapez le code suivant dans un fichier texte sous nom
mapper2.py

Figure 24 : mapper2.py

November 15, 2022 10


Adil ALAMI | Compte Rendu – TP-2 Hadoop
Pour créer le Reducer, tapez le code suivant dans un fichier texte sous nom
reducer2.py

Figure 25 : reducer2.py

Pour lancer un Job entier utilise la commande suivante :

 $ hadoop jar /home/hadoopuser/hadoop/share/hadoop/tools/lib/hadoop-


stre aming-3.3.3.jar -input /mydata/achat.txt -output /result_achat -
file mapper2.py -mapper /h ome/hadoopuser/mapper2.py -file
reducer2.py -reducer /home/hadoopuser/reducer2.py

Figure 26 : Lancement du MapReduce

Le résultat de l'opération MapReduce :

November 15, 2022 11


Adil ALAMI | Compte Rendu – TP-2 Hadoop
Figure 27 : Le résultat de MapReduce

IV. PARTIE 3 : MAP REDUCE AVEC JAVA

Créez un nouveau répertoire avec le nom MapReduceTutorial comme indiqué


dans l'exemple MapReduce ci-dessous :

 sudo mkdir MapReduceTutorial

Figure 28 : Creation du repertoire MapReduceTutorial

 sudo chmod -R 777 MapReduceTutorial

Figure 29 : Donner des autorisations

Création du fichier SalesMapper.java

November 15, 2022 12


Adil ALAMI | Compte Rendu – TP-2 Hadoop
Figure 30 : Le fichier SalesMapper.java

Création du fichier SalesCountryReducer.java

Figure 31 : Le fichier SalesCountryReducer.java

November 15, 2022 13


Adil ALAMI | Compte Rendu – TP-2 Hadoop
Creation du fichier SalesCountryDriver.java

Figure 32 : Le SalesCountryDriver.java

Exportez le chemin de classe comme indiqué dans l'exemple Hadoop ci-dessous:

 export CLASSPATH="$HADOOP_HOME/share/hadoop/mapreduce/hadoop-
mapreduce-client-core-
3.3.3.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-
client-common-3.3.3.jar:$HADOOP_HOME/share/hadoop/common/hadoop-
common-
3.3.3.jar:~/MapReduceTutorial/SalesCountry/*:$HADOOP_HOME/lib/*"

Figure 33 : Exportation du chemin de path

November 15, 2022 14


Adil ALAMI | Compte Rendu – TP-2 Hadoop
Compilez les fichiers Java (ces fichiers sont présents dans le répertoire Final-
MapReduceHandsOn). Ses fichiers de classe seront placés dans le répertoire du
package

 javac -d . SalesMapper.java SalesCountryReducer.java


SalesCountryDriver.java

Figure 34 : Compilation de fichiers Java

Cette compilation créera un répertoire dans un répertoire courant nommé avec le


nom du package spécifié dans le fichier source Java (c'est-à-dire SalesCountry
dans notre cas) et y placera tous les fichiers de classe compilés.

Figure 35 : Le repertoire SalesCountry

Créez un nouveau fichier Manifest.txt et ajoutez-y les lignes suivantes :

 Main-Class: SalesCountry.SalesCountryDriver

November 15, 2022 15


Adil ALAMI | Compte Rendu – TP-2 Hadoop
Figure 36 : Le fichier Manifest.txt

SalesCountry.SalesCountryDriver est le nom de la classe principale. Veuillez noter que vous


devez appuyer sur la touche Entrée à la fin de cette ligne.

Créer un fichier Jar

 jar cfm ProductSalePerCountry.jar Manifest.txt SalesCountry/*.class

Figure 37 : Création d'un fichier Jar

Vérifiez que le fichier jar est créé

 cd MapReduceTutorial
 ls

Figure 38 : Vérification du fichier jar

November 15, 2022 16


Adil ALAMI | Compte Rendu – TP-2 Hadoop
Démarrer Hadoop

 Start-dfs.sh

Figure 39 : Démarrer Hadoop avec start-dfs.sh

 Start-yarn.sh

Figure 40 : Démarrer Hadoop avec start-yarn.sh

Copiez le fichier SalesJan2009.csv dans ~/inputMapReduce

Maintenant, utilisez la commande ci-dessous pour copier ~/inputMapReduce vers


HDFS.

 $HADOOP_HOME/bin/hdfs dfs -copyFromLocal ~/inputMapReduce /

November 15, 2022 17


Adil ALAMI | Compte Rendu – TP-2 Hadoop
Figure 41 : Copier ~/inputMapReduce vers HDFS

Vérifiez si un fichier est réellement copié ou non.

 Hadoop fs -ls /inputMapReduce

Figure 42 : Vérification que le fichier a été copié

Exécuter la tâche MapReduce

 $HADOOP_HOME/bin/hadoop jar ProductSalePerCountry.jar /inputMapReduce


/mapreduce_output_sales

Figure 43 : Exécuter la tâche MapReduce

November 15, 2022 18


Adil ALAMI | Compte Rendu – TP-2 Hadoop
Cela créera un répertoire de sortie nommé mapreduce_output-tp_sales sur HDFS.
Le contenu de ce répertoire sera un fichier contenant les ventes de produits par
pays.

Le résultat peut être vu via l'interface de commande comme,

 Hadoop fs -cat /mapreduce_output-tp_sales/part-00000

Figure 44 : Le résultat du MapReduce

Figure 45 : Le dossier de sortie et son contenu

November 15, 2022 19


Adil ALAMI | Compte Rendu – TP-2 Hadoop
Table des figures

Figure 1 : Démarrage de HDFS à l'aide de start-dfs.sh .................................................................................. 1


Figure 2 : Démarrage de HDFS à l'aide de start-yarn.sh............................................................................. 1
Figure 3 : Vérification de l'activation à l'aide de jps ...................................................................................... 2
Figure 4 : Création d'un répertoire avec mkdir .................................................................................................. 2
Figure 5 : Création d'un fichier texte avec cat.................................................................................................... 2
Figure 6 : Copier le fichier texte en utilisant -put ............................................................................................. 3
Figure 7 : Lister le contenu du répertoire myinput .......................................................................................... 3
Figure 8 : Visualisation des dernières lignes du fichier .............................................................................. 3
Figure 9 : Afficher le contenu du fichier en utilisant -cat ......................................................................... 4
Figure 10 : Renommer un fichier avec -mv ............................................................................................................ 4
Figure 11 : Supprimer un fichier avec -rm ................................................................................................................. 5
Figure 12 : Supprimer un répertoire et son contenu avec -rm -f -r ............................................... 5
Figure 13 : Création du répertoire mydata avec -mkdir ........................................................................... 6
Figure 14 : Copier le fichier poem.txt dans mydata en utilisant -put............................................ 6
Figure 15 : Affichage du contenu de dossier mydata ................................................................................. 6
Figure 16 : mapper1.py ................................................................................................................................................................ 7
Figure 17 : reducer1.py.................................................................................................................................................................. 7
Figure 18 : Lancement du MapReduce ....................................................................................................................... 8
Figure 19 : Fin de l'opération MapReduce ................................................................................................................ 8
Figure 20 : Le résultat de MapReduce ........................................................................................................................ 9
Figure 21 : Fichier texte achat.txt ....................................................................................................................................... 9
Figure 22 : Copie du fichier achat.txt sous le répertoire mydata ................................................... 10
Figure 23 : Le fichier achat.txt ............................................................................................................................................ 10
Figure 24 : mapper2.py ........................................................................................................................................................... 10
Figure 25 : reducer2.py .............................................................................................................................................................. 11
Figure 26 : Lancement du MapReduce ..................................................................................................................... 11
Figure 27 : Le résultat de MapReduce ........................................................................................................................ 12
Figure 28 : Creation du repertoire MapReduceTutorial ............................................................................ 12
Figure 29 : Donner des autorisations .......................................................................................................................... 12
Figure 30 : Le fichier SalesMapper.java.....................................................................................................................13
Figure 31 : Le fichier SalesCountryReducer.java................................................................................................13
Figure 32 : Le SalesCountryDriver.java ...................................................................................................................... 14
Figure 33 : Exportation du chemin de path ......................................................................................................... 14
Figure 34 : Compilation de fichiers Java ............................................................................................................... 15
Figure 35 : Le repertoire SalesCountry...................................................................................................................... 15
Figure 36 : Le fichier Manifest.txt ..................................................................................................................................... 16

November 15, 2022 20


Adil ALAMI | Compte Rendu – TP-2 Hadoop
Figure 37 : Création d'un fichier Jar ............................................................................................................................. 16
Figure 38 : Vérification du fichier jar ........................................................................................................................... 16
Figure 39 : Démarrer Hadoop avec start-dfs.sh.............................................................................................. 17
Figure 40 : Démarrer Hadoop avec start-yarn.sh.......................................................................................... 17
Figure 41 : Copier ~/inputMapReduce vers HDFS ............................................................................................ 18
Figure 42 : Vérification que le fichier a été copié .......................................................................................... 18
Figure 43 : Exécuter la tâche MapReduce ............................................................................................................ 18
Figure 44 : Le résultat du MapReduce ...................................................................................................................... 19
Figure 45 : Le dossier de sortie et son contenu ............................................................................................... 19

November 15, 2022 21


Adil ALAMI | Compte Rendu – TP-2 Hadoop

Vous aimerez peut-être aussi