2011-12-29 97 views
0

重复我开始与hadoop 0.20.2。我想从基本的wordcount问题开始,我在这里找到的代码是: http://cxwangyi.blogspot.com/2009/12/wordcount-tutorial-for-hadoop-0201.htmlhadoop mapreduce

这样工作就像它应该。 然而,当字被分隔在多个文件,我想指望每个文件的话,所以我改变映射到:

String fileName = ((org.apache.hadoop.mapreduce.lib.input.FileSplit) context.getInputSplit()).getPath().getName(); 

      word.set(itr.nextToken()+"@"+fileName); 

但后来我得到重复我的mapreduced文件,像这样: 字1 @文件1 1 单词2 @文件2 1 单词2 @文件2〜1 ...

所以单词2 @文件2〜1不应该在那里......

任何人知道我在做什么错?

感谢

+1

听起来像你的文本编辑器是自动保存文件。例如,emacs通常会在文件名前面使用“〜”来创建自动保存。在这种情况下,你最终会得到''file2''和''file2〜''。 – Fred 2011-12-29 23:46:51

回答

2

你确定你没有在末端波浪文件添加到输入的Hadoop的工作吗?每次编辑文件时,像Gedit这样的编辑器都会生成它们。

+0

哦,当然。我愚蠢的我已经在整天探索hadoop的核心。 谢谢! – 2011-12-30 12:13:35