This usually hapens when you aren't registering what you think you are registering. try `jar tf /home/huyong/test/myudfs.jar | grep UPPER` and see if you get anything.
D 2011/6/18 勇胡 <yongyong...@gmail.com>: > 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 >> > >> >