Tutoriel 2 : Variable globale Hadoop Map Reduce

Hadoop

Tutoriel 2 : Variable globale Hadoop Map Reduce

Objectif du tutoriel:

 

Écrivez un programme MapReduce qui recherche les occurrences d’une chaîne donnée dans un fichier volumineux.

 

Vous pouvez probablement penser à utiliser une ligne de commande grep et c’est tout.

 

Mais que se passe-t-il si la taille du fichier est trop grande, cela prendra trop de temps.

 

Tout d’abord, vous devez vous assurer que vous avez correctement installé Hadoop sur votre machine. 

 

Ensuite, vous devriez démarrer le démon Hadoop en appelant ces scripts:

 

  • start-dfs.sh
  • start-yarn.sh

 

On termine par cette dernière étape avant de commencer, vous devez copier les fichiers d’entrée dans votre système de fichiers Hadoop local et créer des répertoires dans hdfs avant de les copier.

 

Alors téléchargez ces deux fichiers d’entrée (ce sont de petits fichiers juste pour les tests)

 

Après cela, créez des chemins dans hdfs en appelant: hdfs dfs -mkdir -p / training / lab2 / input /

 

Ensuite, copiez-les sur hdfs en appelant cette commande : hdfs dfs -copyFromLocal / training / lab2 / input /

 

Par exemple, si vous avez téléchargé les fichiers dans Téléchargements / lab2 / input /, la ligne de commande doit alors être: hdfs dfs -copyFromLocal ~ / Téléchargements / lab2 / input / * / training / lab1 / input /

 

Maintenant que tout est déjà configuré, commencez le codage.

 

 

On voie maintenant le mappeur. Le rôle du mappeur est de rechercher le mot.

 

 

Si le fichier était trop volumineux, il sera divisé en plusieurs blocs et le nombre de mappeurs sera égal au nombre de blocs.

 

Donc, pour minimiser le transfert de données, on peut écrire un combinateur

 

 

On voie maintenant le réducteur, son rôle sera de faire la somme des valeurs, c’est ça:

 

 

Remarque: au lieu d’écrire notre propre réducteur, on peut utiliser IntSumReducer <Key>.

 

 

et utiliser le texte comme clé

 

Remarque: également pour minimiser le transfert de données, dans le cas d’une ligne où le mot recherché n’apparaîtra pas, notre mappeur écrira («searchWord», 0), il serait donc préférable de ne rien écrire dans ce cas, on doit donc ajouter

 

 

Maintenant, après le codage, exportez le fichier jar en tant que fichier jar exécutable et spécifiez MinMaxJob en tant que classe principale, puis ouvrez le terminal et exécutez le travail en appelant: hadoop jar nameOfTheJar.jar.

 

Par exemple, si vous attribuez le nom lab2.jar au jar, la ligne de commande sera: hadoop jar lab2.jar et examinez le résultat en appelant: hdfs dfs -cat / training / lab2 / output / part-r-00000.

 

 

 

Avatar for Nizar Ellouze

Author: Nizar Ellouze

No Comments

Post a Comment

Comment
Name
Email
Website