http://lintool.github.com/MapReduceAlgorithms/index.html
The original book for a lot of really cool map-reduce algorithms. After you "get" what these classes do, get Hive and Pig. They both have an 'explain plan' command that shows you the chain of map-reduce jobs needed for your high-level code. Really helpful. On Tue, Jul 24, 2012 at 10:13 PM, Saravanan Nagarajan <saravanan.nagarajan...@gmail.com> wrote: > HI vikas, > > You can download example programes from facebook group link below: > http://www.facebook.com/groups/416125741763625/ > > > It contain some ppt as well. > > Regards, > Saravanan Nagarajan > > On Wed, Jul 25, 2012 at 10:17 AM, minumichael <minumichael.olassa...@tcs.com >> wrote: > >> >> Hi Vikas, >> >> You could also try out various examples like finding the maximum >> temperature >> from a given dataset >> >> 0067011990999991950051507004...9999999N9+00001+99999999999... >> 0043011990999991950051512004...9999999N9+00221+99999999999... >> 0043011990999991950051518004...9999999N9-00111+99999999999... >> 0043012650999991949032412004...0500001N9+01111+99999999999... >> 0043012650999991949032418004...0500001N9+00781+99999999999... >> >> //Mapper for maximum temperature example >> >> import java.io.IOException; >> import org.apache.hadoop.io.LongWritable; >> import org.apache.hadoop.io.Text; >> import org.apache.hadoop.mapreduce.Mapper; >> >> public class MaxTemperatureMapper >> extends Mapper<LongWritable, Text, Text, IntWritable> { >> private static final int MISSING = 9999; >> @Override >> public void map(LongWritable key, Text value, Context context) >> throws IOException, InterruptedException { >> } >> } >> String line = value.toString(); >> String year = line.substring(15, 19); >> int airTemperature; >> if (line.charAt(87) == '+') { // parseInt doesn't like leading plus signs >> airTemperature = Integer.parseInt(line.substring(88, 92)); >> } else { >> airTemperature = Integer.parseInt(line.substring(87, 92)); >> } >> String quality = line.substring(92, 93); >> if (airTemperature != MISSING && quality.matches("[01459]")) { >> context.write(new Text(year), new IntWritable(airTemperature)); >> } >> }} >> //Reducer for maximum temperature example >> import java.io.IOException; >> import org.apache.hadoop.io.IntWritable; >> import org.apache.hadoop.io.Text; >> import org.apache.hadoop.mapreduce.Reducer; >> public class MaxTemperatureReducer >> extends Reducer<Text, IntWritable, Text, IntWritable> { >> @Override >> public void reduce(Text key, Iterable<IntWritable> values, >> Context context) >> throws IOException, InterruptedException { >> } >> } >> int maxValue = Integer.MIN_VALUE; >> for (IntWritable value : values) { >> maxValue = Math.max(maxValue, value.get()); >> } >> context.write(key, new IntWritable(maxValue)); >> } >> } >> //Application to find the maximum temperature in the weather dataset >> import org.apache.hadoop.fs.Path; >> import org.apache.hadoop.io.IntWritable; >> import org.apache.hadoop.io.Text; >> import org.apache.hadoop.mapreduce.Job; >> import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; >> import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; >> public class MaxTemperature { >> public static void main(String[] args) throws Exception { >> if (args.length != 2) { >> System.err.println("Usage: MaxTemperature <input path> <output path>"); >> System.exit(-1); >> } >> Job job = new Job(); >> job.setJarByClass(MaxTemperature.class); >> job.setJobName("Max temperature"); >> FileInputFormat.addInputPath(job, new Path(args[0])); >> FileOutputFormat.setOutputPath(job, new Path(args[1])); >> job.setMapperClass(MaxTemperatureMapper.class); >> job.setReducerClass(MaxTemperatureReducer.class); >> job.setOutputKeyClass(Text.class); >> job.setOutputValueClass(IntWritable.class); >> } >> } >> System.exit(job.waitForCompletion(true) ? 0 : 1); >> } >> } >> >> -- >> View this message in context: >> http://old.nabble.com/Hadoop-Example-in-java-tp33341353p34208568.html >> Sent from the Hadoop core-user mailing list archive at Nabble.com. >> >> -- Lance Norskog goks...@gmail.com