2011-12-29 16 views
0

私はhadoop 0.20.2で始まります。私はここで見つけたコードで基本的な語彙数の問題から始めたいと思っていました。 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 @ FILE1 1 WORD2 @ FILE2 1 WORD2 @ FILE2〜1 ...

だから、WORD2 @ FILE2〜1が存在していてはいけない...

誰も私が間違ってやっている知っていますか?

おかげ

+1

テキストエディタのような音はファイルを自動保存しています。たとえば、emacsはファイル名の前に ''〜 ''をつけて自動保存を作成することがよくあります。その場合、 '' file2''と '' file2〜 ''で終わるでしょう。 – Fred

答えて

2

あなたが最後にチルダを持つファイルは、Hadoopのジョブの入力に加える必要はありませんか? Geditのようなエディタの中には、ファイルが編集されるたびにそれらを生成するものがあります。

+0

もちろん、ああ。 愚かな私はすでにハープの中心を一日中探っていました。 ありがとう! –

関連する問題