0% ont trouvé ce document utile (0 vote)
22 vues3 pages

Mapper WordCount en Scala

Transféré par

nouharakrouki822
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
22 vues3 pages

Mapper WordCount en Scala

Transféré par

nouharakrouki822
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd

Word Count

MAPREDUCE – LE MAPPER

HADID | BIG DATA | Date


Le reducer. Le code du mapper de WordCount se trouve ci-après. Il gère les tâches
suivantes :

1: import [Link];
2: import [Link];
3: import [Link];
4: import [Link];
5:
6: public class WordCountReducer extends
Reducer<Text, IntWritable, Text, IntWritable> {
7:
8: @Override
9: public void reduce(Text key,
Iterable<IntWritable> values, Context context) throws
IOException, InterruptedException {
10:
11: int wordCount = 0;
12:
13: for (IntWritable value : values) {
14: wordCount = wordCount + [Link]();
15: }
16:
17: [Link](key, new IntWritable(wordCount));
18:
19: }
20:}

Le code du mapper de WordCount gère les tâches suivantes :

Lignes 1 à 4 : importation des classes Java nécessaires au fonctionnement du reducer.

Lignes 6 à 20 : définition de la classe WordCountReducer qui sera appelée par le


driver (cf. ligne 26 du driver).

Ligne 9 : indication du type des données en entrée du reducer. Il s’agit d’une liste de
couples (key, value), key étant de type Text (c’est un mot issu des œuvres de
Shakespeare, par exemple "the") et value étant une liste (Iterable) de valeurs de type
IntWritable (il s’agit d’une liste des 1 émis par les mappers à chaque occurrence de
"the").

Ligne 11 : mise à zéro du compteur des différentes occurrences d’un mot.

Lignes 13 à 15 : ces lignes sont le cœur du reducer.

PAGE 1
Ligne 13 : les différentes occurrences (cf. boucle for) du mot passé dans key sont
comptées (ligne 14). Plutôt que d’ajouter 1 à la variable wordCount, on ajoute
[Link]() ce qui revient exactement au même dans le cas de l’exemple de
WordCount.

Ligne 17 : une fois que toute la liste de comptage a été parcourue, le mapper écrit le
mot (key) et le résultat du comptage (wordCount) dans l’objet context. Comme la
variable wordCount est initialement définie comme variable du type Java int (cf. ligne
11) elle doit être convertie au type Hadoop IntWritable (cf. ligne 17, new
IntWritable(wordCount)) avant de pouvoir être écrite.

PAGE 2

Vous aimerez peut-être aussi