You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by cd...@apache.org on 2009/03/04 05:52:45 UTC

svn commit: r749903 - in /hadoop/core/trunk: CHANGES.txt src/benchmarks/gridmix2/src/java/org/apache/hadoop/mapred/CombinerJobCreator.java

Author: cdouglas
Date: Wed Mar  4 04:52:45 2009
New Revision: 749903

URL: http://svn.apache.org/viewvc?rev=749903&view=rev
Log:
HADOOP-5274. Fix gridmix2 dependency on wordcount example.

Modified:
    hadoop/core/trunk/CHANGES.txt
    hadoop/core/trunk/src/benchmarks/gridmix2/src/java/org/apache/hadoop/mapred/CombinerJobCreator.java

Modified: hadoop/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/CHANGES.txt?rev=749903&r1=749902&r2=749903&view=diff
==============================================================================
--- hadoop/core/trunk/CHANGES.txt (original)
+++ hadoop/core/trunk/CHANGES.txt Wed Mar  4 04:52:45 2009
@@ -927,6 +927,8 @@
 
     HADOOP-5111. Fix Job::set* methods to work with generics. (cdouglas)
 
+    HADOOP-5274. Fix gridmix2 dependency on wordcount example. (cdouglas)
+
 Release 0.19.2 - Unreleased
 
   BUG FIXES

Modified: hadoop/core/trunk/src/benchmarks/gridmix2/src/java/org/apache/hadoop/mapred/CombinerJobCreator.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/benchmarks/gridmix2/src/java/org/apache/hadoop/mapred/CombinerJobCreator.java?rev=749903&r1=749902&r2=749903&view=diff
==============================================================================
--- hadoop/core/trunk/src/benchmarks/gridmix2/src/java/org/apache/hadoop/mapred/CombinerJobCreator.java (original)
+++ hadoop/core/trunk/src/benchmarks/gridmix2/src/java/org/apache/hadoop/mapred/CombinerJobCreator.java Wed Mar  4 04:52:45 2009
@@ -18,15 +18,51 @@
 
 package org.apache.hadoop.mapred;
 
-import org.apache.hadoop.examples.WordCount;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.StringTokenizer;
+
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.IntWritable;
+import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.Text;
 
-public class CombinerJobCreator extends WordCount {
+public class CombinerJobCreator {
+
+   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);
+       }
+     }
+   }
+
+   public static class Reduce extends MapReduceBase
+     implements Reducer<Text, IntWritable, Text, IntWritable> {
+
+     public void reduce(Text key, Iterator<IntWritable> values,
+                        OutputCollector<Text, IntWritable> output,
+                        Reporter reporter) throws IOException {
+       int sum = 0;
+       while (values.hasNext()) {
+         sum += values.next().get();
+       }
+       output.collect(key, new IntWritable(sum));
+     }
+   }
 
   public static JobConf createJob(String[] args) throws Exception {
-    JobConf conf = new JobConf(WordCount.class);
+    JobConf conf = new JobConf(CombinerJobCreator.class);
     conf.setJobName("GridmixCombinerJob");
 
     // the keys are words (strings)