実はこれは mapreduce プログラムです。これは私の単純なワードカウントプログラムです:
public static class MapClass extends MapReduceBase
implements Mapper<LongWritable, Text, Text, IntWritable> {
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();
public void map(LongWritable key, Text value,
OutputCollector<Text, IntWritable> output,
Reporter reporter) throws IOException {
String line = value.toString();
StringTokenizer itr = new StringTokenizer(line);
while (itr.hasMoreTokens()) {
word.set(itr.nextToken());
output.collect(word, one);
ここでは、ファイル内の単語数を数えます。
しかし、ファイルの各段落の単語を取得する必要はありません..各段落の数値を取得します。その番号に基づいてマップします。