Thanks Joey..!!
It compiled..

Regards,
Praveenesh

On Mon, Apr 25, 2011 at 3:47 PM, Joey Echeverria <j...@cloudera.com> wrote:

> Your delcaration of the Map class needs to include the input and
> output types, e.g.:
>
> public static class Map extends MapReduceBase implements
> Mapper<LongWritable, Text, Text, LongWritable> {
> ...
> }
>
> -Joey
>
> On Mon, Apr 25, 2011 at 4:38 AM, praveenesh kumar <praveen...@gmail.com>
> wrote:
> > Hi,
> >
> > I am running the following code (Gender.java) on my hadoop .
> >
> >
> > import java.io.IOException;
> > import java.util.*;
> >
> > import org.apache.hadoop.fs.Path;
> > import org.apache.hadoop.conf.*;
> > import org.apache.hadoop.io.*;
> > import org.apache.hadoop.mapred.*;
> > import org.apache.hadoop.util.*;
> >
> > public class Gender {
> >
> >    private static String genderCheck = "female";
> >
> >    public static class Map extends MapReduceBase implements Mapper {
> >        private final static IntWritable one = new IntWritable(1);
> >        private Text locText = new Text();
> >
> >        public void map(LongWritable key, Text value, OutputCollector
> > output, Reporter reporter) throws IOException {
> >            String line = value.toString();
> >            String location = line.split(",")[14] + "," +
> > line.split(",")[15];
> >            long male = 0L;
> >            long female = 0L;
> >            if (line.split(",")[17].matches("\d+") &&
> > line.split(",")[18].matches("\d+")) {
> >                male = Long.parseLong(line.split(",")[17]);
> >                female = Long.parseLong(line.split(",")[18]);
> >            }
> >            long diff = male - female;
> >            locText.set(location);
> >            if (Gender.genderCheck.toLowerCase().equals("female") && diff
> <
> > 0) {
> >                output.collect(locText, new LongWritable(diff * -1L));
> >            }
> >            else if (Gender.genderCheck.toLowerCase().equals("male") &&
> diff
> >> 0) {
> >                output.collect(locText, new
> > LongWritable(diff));
> >            }
> >        }
> >    }
> >
> >    public static void main(String[] args) throws Exception {
> >        JobConf conf = new JobConf(Gender.class);
> >        conf.setJobName("gender");
> >        conf.setOutputKeyClass(Text.class);
> >        conf.setOutputValueClass(LongWritable.class);
> >        conf.setMapperClass(Map.class);
> >
> >        if (args.length != 3) {
> >            System.out.println("Usage:");
> >            System.out.println("[male/female] /path/to/2kh/files
> > /path/to/output");
> >            System.exit(1);
> >        }
> >
> >        if (!args[0].equalsIgnoreCase("male") &&
> > !args[0].equalsIgnoreCase("female")) {
> >            System.out.println("first argument must be male or female");
> >            System.exit(1);
> >        }
> >        Gender.genderCheck = args[0];
> >
> >        conf.setInputFormat(TextInputFormat.class);
> >        conf.setOutputFormat(TextOutputFormat.class);
> >        FileInputFormat.setInputPaths(conf, new Path(args[1]));
> >        FileOutputFormat.setOutputPath(conf, new Path(args[2]));
> >        JobClient.runJob(conf);
> >    }
> >
> > }
> >
> > I am getting the following exception while compiling this  :
> >
> > *Gender.java:14: Gender.Map is not abstract and does not override
> abstract
> > method
> >
> map(java.lang.Object,java.lang.Object,org.apache.hadoop.mapred.OutputCollector,org.apache.hadoop.mapred.Reporter)
> > in org.apache.hadoop.mapred.Mapper
> >    public static class Map extends MapReduceBase implements Mapper {
> >                  ^
> > Note: Gender.java uses or overrides a deprecated API.
> > Note: Recompile with -Xlint:deprecation for details.
> > Note: Gender.java uses unchecked or unsafe operations.
> > Note: Recompile with -Xlint:unchecked for details.
> > *
> > Anyone suggest me how to debug this error ??
> >
>
>
>
> --
> Joseph Echeverria
> Cloudera, Inc.
> 443.305.9434
>

Reply via email to