package demos; import java.io.IOException; import java.util.Iterator; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapred.FileInputFormat; import org.apache.hadoop.mapred.FileOutputFormat; import org.apache.hadoop.mapred.JobClient; import org.apache.hadoop.mapred.JobConf; import org.apache.hadoop.mapred.MapReduceBase; import org.apache.hadoop.mapred.OutputCollector; import org.apache.hadoop.mapred.Reducer; import org.apache.hadoop.mapred.Reporter; public class SimpleWordFreqHistogram { public static void run(String input, String output){ JobConf conf = new JobConf(SimpleWordFreqHistogram.class); conf.setJobName("simple word freq histogram"); conf.setOutputKeyClass(IntWritable.class); conf.setOutputValueClass(IntWritable.class); conf.setMapperClass(WordFreqMapper.class); //conf.setCombinerClass(SumReducer.class); conf.setReducerClass(SumReducer.class); // specify input and output dirs FileInputFormat.addInputPath(conf, new Path(input)); FileOutputFormat.setOutputPath(conf, new Path(output)); JobClient client = new JobClient(); client.setConf(conf); try { JobClient.runJob(conf); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { if( args.length != 2 ){ System.err.println("SimpleWordFreqHistogram "); }else{ run(args[0], args[1]); } } }