在hadoop mapreduce中重复



我从hadoop 0.20.2开始。我想用我在这里找到的代码从基本的单词计数问题开始:http://cxwangyi.blogspot.com/2009/12/wordcount -教程——hadoop - 0201. - html

这就像它应该的那样。但是,当单词在多个文件中分开并且我想对每个文件的单词计数时,我将映射器更改为:

String fileName = ((org.apache.hadoop.mapreduce.lib.input.FileSplit) context.getInputSplit()).getPath().getName();
            word.set(itr.nextToken()+"@"+fileName);

但我得到重复在我的mapreduce文件,像这样:word1@file1 1word2@file2 1word2@file2 ~ 1…

所以word2@file2~ 1不应该在那里…

有谁知道我做错了什么吗?

谢谢

您确定没有在hadoop作业的输入中添加最后的波浪号文件吗?一些编辑器,如Gedit,每次编辑文件时都会生成它们。

相关内容

  • 没有找到相关文章

最新更新