Exemples d'utilisation YARN

YARN / MapReduce

Trois exemples "simples" d'exécution de jobs MapReduce disponibles sur la plateforme :

  1. Calcul du nombre Pi
  2. Comptage de nombre de mots
  3. Recherche dans Wikipedia

1. Calcul du nombre de Pi

[xxxx@osirim-hadoop ~]$ hadoop jar /usr/hdp/2.6.3.0-235/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 10 1000
Number of Maps = 10
Samples per Map = 1000
Wrote input for Map #0
Wrote input for Map #1
...
Wrote input for Map #8
Wrote input for Map #9
Starting Job
...
Job Finished in 37.872 seconds
Estimated value of Pi is 3.14080000000000000000

 


2. Comptage de nombre de mots

Création du répertoire des données input "in"
[xxxx@osirim-hadoop ~]$ hadoop fs -mkdir in 
Dépôt du fichier /etc/hosts dans le repertoire "in" précedemment crée
[xxxx@osirim-hadoop ~]$ hadoop fs -put -f /etc/hosts in 
Affichage du contenu du repertoire "in" précedemment crée
[xxxx@osirim-hadoop ~]$ hadoop fs -ls in 
Found 1 items
-rw-r--r-- xxxxx systeme   1054   2016-12-12 15:13 in/hosts
Exécution de la fonction wordcount du programme hadoop-mapreduce-examples.jar
[xxxx@osirim-hadoop ~]$ hadoop jar /usr/hdp/2.6.3.0-235/haddop-mapreduce/haddop-mapreduce-examples.jar wordcount in out
16/01/18 14:44:01 INFO impl.TimelineClientImpl: Timeline service address:
http://co2-hdp-master1.irit.fr:8188/ws/v1/timeline/
16/01/18 14:44:01 INFO client.RMProxy: Connecting to ResourceManager at co2-hdp-
master1.irit.fr/141.115.102.101:8050
16/01/18 14:44:03 INFO input.FileInputFormat: Total input paths to process : 1
...
File Input Format Counters
Bytes Read=1054
File Output Format Counters
Bytes Written=1122
Affichage du contenu du repertoire de sortie "out"
[xxxx@osirim-hadoop ~]$ hadoop fs -ls out
Found 2 items
-rw-r--r-- 1 xxxxx systeme 0 2016-12-12 15:17 out/_SUCCESS
-rw-r--r-- 1 xxxxx systeme 1122 2016-12-12 15:17 out/part-r-00000
Affichage du contenu du fichier de sortie "part-r-00000"
[xxxx@osirim-hadoop ~]$ hadoop fs -cat out/part-r-00000

127.0.0.1 1
141.115.102.100 1
141.115.102.101 1
141.115.102.102 1
...
localhost.localdomain 2
localhost4 1
localhost4.localdomain4 1
localhost6 1
localhost6.localdomain6 1

 


3. Recherche dans Wikipedia

Un intérêt de la baie de stockage est sa capacité à fournir un accés aux données selon différents protocoles: SMB, NFS, HDFS,...
Il est ainsi possible de transférer des données sur la baie de façon traditionnelle dans des répertoires de fichiers, par exemple via FTP ou HTTP.
Des traitements MapReduce ou autres permettent d'accéder à ces données en HDFS.
Dans cet exemple, le contenu textuel du site wikipedia est téléchargé.
Un traitement MapReduce par grep est ensuite appliqué afin de retrouver les occurences d'un mot ou groupe de mots. 
Les expressions regulières peuvent être utilisées dans la recherche.

Téléchargement du fichier enwiki-latest-pages-articles.xml.bz2 situé à l'adresse http://dumps.wikipedia.org/enwiki/latest
[xxxx@osirim-hadoop ~]$ cd /projets/test
[xxxx@osirim-hadoop ~]$ wget http://dumps.wikipedia.org/enwiki/latest/enwiki-latest-pages-articles.xml.bz2
Lancement du traitement grep sur ce fichier pour extraitre les phrases contenant l'expression "Big Data"
[xxxx@osirim-hadoop ~]$ hadoop jar /usr/hdp/2.6.3.0-235/hadoop-mapreduce-examples.jar grep /projets/test/projets/test/wikigrep "Big Data" 
Affichage du résultat dans le fichier /projets/test/wikigrep/part-r-00000
[xxxx@osirim-hadoop ~]$ hadoop fs -cat /projets/test/wikigrep/part-r-00000