telecharger - hadoop tutoriel



Extraction de lignes contenant une valeur spécifique à l'aide de mapReduce et hadoop (1)

Fondamentalement, l'exemple WordCount ressemble très bien à ce que vous essayez d'accomplir. Au lieu d'initialiser le compte pour chaque mot, vous devez avoir une condition pour vérifier si la chaîne tokenized a la valeur requise et seulement dans ce cas vous écrivez au contexte. Cela fonctionnera puisque Mapper recevra chaque ligne du fichier CSV séparément.

Maintenant, Reducer recevra la liste des valeurs, déjà organisées par clé. Dans Reducer, au lieu d'avoir IntWritable comme type de valeur de sortie, vous pouvez utiliser NullWritable pour le type de valeur de retour, afin que votre code ne produise que les clés. De plus, vous n'avez pas besoin du cycle dans Reducer, puisque vous ne voulez que sortir les clés.

Je ne vous donne aucun code dans ma réponse, puisque vous n'apprendrez rien de cela. Faites votre chemin à partir des recommandations.

EDIT: puisque vous avez modifié votre question avec une demande pour Reducer, voici quelques conseils pour réaliser ce que vous voulez.

Une des possibilités pour obtenir le résultat souhaité est: dans Mapper, après avoir divisé (ou ténéré) la ligne, vous écrivez à la colonne de contexte 3 en tant que clé et la colonne 0 en tant que valeur. Votre réducteur, puisque vous n'avez besoin d'aucune sorte d'agrégation, peut simplement écrire les clés et les valeurs produites par les mappeurs (oui, votre code réducteur se terminera avec une seule ligne de code). Vous pouvez vérifier une de mes réponses précédentes, la figure explique assez bien ce que font les phases Map et Reduce.

Je suis nouveau dans le développement de la fonction map-reduce. Considérons que j'ai un fichier csv contenant quatre colonnes de données.

Par exemple:

101,87,65,67  
102,43,45,40  
103,23,56,34  
104,65,55,40  
105,87,96,40  

Maintenant, je veux dire extraire

40 102  
40 104  
40 105  

comme ces lignes contiennent 40 dans la quatrième colonne.

Comment écrire carte réduire la fonction?





feature-extraction