// Source code for driver //-------------------------- // LogEventCount.java //-------------------------- package airawat.oozie.samples; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.mapreduce.Job; public class LogEventCount { public static void main(String[] args) throws Exception { if (args.length != 2) { System.out.printf( "Usage: Airawat.Oozie.Samples.LogEventCount <input dir> <output dir>\n"); System.exit(-1); } //Instantiate a Job object for your job's configuration. Job job = new Job(); //Job jar file job.setJarByClass(LogEventCount.class); //Job name job.setJobName("Syslog Event Rollup"); //Paths FileInputFormat.setInputPaths(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); //Mapper and reducer classes job.setMapperClass(LogEventCountMapper.class); job.setReducerClass(LogEventCountReducer.class); //Job's output key and value classes job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); //Number of reduce tasks job.setNumReduceTasks(3); //Start the MapReduce job, wait for it to finish. boolean success = job.waitForCompletion(true); System.exit(success ? 0 : 1); } }