The error was that the superclass was in MapReduceBase rather than
Configured, like I had originally thought.

-SM

On Thu, Jan 29, 2009 at 11:49 AM, Sandy <[email protected]> wrote:

> Hi,
>
> I am still relatively a beginner at java and hadoop. I am trying to do set
> a user-defined variable in my own partition function, which I define in a
> file called myPartitioner.java. The structure of the code is below:
>
> ----
> package mypackage;
> import java.util.*;
> import java.io.*;
> import org.apache.hadoop.io.IntWritable;
> import org.apache.hadoop.mapred.JobConf;
> import org.apache.hadoop.mapred.Partitioner;
> import org.apache.hadoop.conf.Configuration;
> import org.apache.hadoop.conf.Configured;
>
> public class myPartitioner extends Configured implements
> Partitioner<IntWritable, IntWritable> {
>
>     private int T;
>
>     public void configure(JobConf job) {
>     super.configure(job);
>     String myT = job.get("tval");
>     T = Integer.parseInt(myT);
>     }
>
>     public int getPartition(IntWritable key, IntWritable value, int
> numPartitions) {
>     ...
>     }
> }
>
> When I try to compile, I get the following error pointing to the line
> super.configure(job):
> myPartitioner.java: cannot find symbol
>     [javac] symbol  : method configure(org.apache.hadoop.mapred.JobConf)
>     [javac] location: class org.apache.hadoop.conf.Configured
>     [javac]     super.configure(job);
>     [javac]             ^
>     [javac] 1 error
>
> In my regular M/R program I use the public void configure(JobConf) function
> like this liberally. I'm thinking I am missing importing some class
> somewhere, but I am not sure which. Could someone please point me in the
> right direction? This is hadoop-0.19.0.
>
> Thanks in advance.
>
> -SM
>

Reply via email to