Hi,

package myudfs;
import java.io.IOException;
import org.apache.pig.EvalFunc;
import org.apache.pig.data.Tuple;
import org.apache.pig.impl.util.*;

public class UPPER extends EvalFunc<String>
{
    public String exec(Tuple input) throws IOException {
        if (input == null || input.size() == 0)
            return null;
        try{
            String str = (String)input.get(0);
            return str.toUpperCase();
        }catch(Exception e){
            throw new IOException(e);
        }
    }
}

This is as same as the example from the Pig website. By the way, I also
added the PIG_CLASS. But it still didn't work.

Yong

2011/6/18 Jonathan Coveney <jcove...@gmail.com>

> Can you paste the content of the UDF?
>
> 2011/6/18 勇胡 <yongyong...@gmail.com>
>
> > Hello,
> >
> > I just tried the example from the pig udf manual step by step. But I got
> > the
> > error information. Can anyone tell me how to solve it?
> >
> > grunt> REGISTER /home/huyong/test/myudfs.jar;
> > grunt> A = LOAD '/home/huyong/test/student.txt' as (name:chararray);
> > grunt> B = FOREACH A GENERATE myudfs.UPPER(name);
> > 2011-06-18 11:15:38,892 [main] ERROR org.apache.pig.tools.grunt.Grunt -
> > ERROR 1070: Could not resolve myudfs.UPPER using imports: [,
> > org.apache.pig.builtin., org.apache.pig.impl.builtin.]
> > Details at logfile: /home/huyong/test/pig_1308388238352.log
> >
> > I have already registered the udf, why pig tries to search from the
> builtin
> > path.
> >
> > Thanks for your help!
> >
> > Yong Hu
> >
>

Reply via email to