20 | | 14. public static class Map extends MapReduceBase implements Mapper<LongWritable, Text, Text, IntWritable> { |
21 | | 15. private final static IntWritable one = new IntWritable(1); |
22 | | 16. private Text word = new Text(); |
23 | | 17. |
24 | | 18. public void map(LongWritable key, Text value, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException { |
25 | | 19. String line = value.toString(); |
26 | | 20. StringTokenizer tokenizer = new StringTokenizer(line); |
27 | | 21. while (tokenizer.hasMoreTokens()) { |
28 | | 22. word.set(tokenizer.nextToken()); |
29 | | 23. output.collect(word, one); |
30 | | 24. } |
31 | | 25. } |
32 | | 26. } |
33 | | 27. |
34 | | 28. public static class Reduce extends MapReduceBase implements Reducer<Text, IntWritable, Text, IntWritable> { |
35 | | 29. public void reduce(Text key, Iterator<IntWritable> values, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException { |
36 | | 30. int sum = 0; |
37 | | 31. while (values.hasNext()) { |
38 | | 32. sum += values.next().get(); |
39 | | 33. } |
40 | | 34. output.collect(key, new IntWritable(sum)); |
41 | | 35. } |
42 | | 36. } |
| 20 | public static class Map extends MapReduceBase implements Mapper<LongWritable, Text, Text, IntWritable> { |
| 21 | private final static IntWritable one = new IntWritable(1); |
| 22 | private Text word = new Text(); |
| 23 | |
| 24 | public void map(LongWritable key, Text value, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException { |
| 25 | String line = value.toString(); |
| 26 | StringTokenizer tokenizer = new StringTokenizer(line); |
| 27 | while (tokenizer.hasMoreTokens()) { |
| 28 | word.set(tokenizer.nextToken()); |
| 29 | output.collect(word, one); |
| 30 | } |
| 31 | } |
| 32 | |
| 33 | public static class Reduce extends MapReduceBase implements Reducer<Text, IntWritable, Text, IntWritable> { |
| 34 | public void reduce(Text key, Iterator<IntWritable> values, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException { |
| 35 | int sum = 0; |
| 36 | while (values.hasNext()) { |
| 37 | sum += values.next().get(); |
| 38 | } |
| 39 | output.collect(key, new IntWritable(sum)); |
| 40 | } |
| 41 | } |