I tried your command and then it shows me as following: /home/huyong/test/UPPER.class /home/huyong/test/UPPER.java
Yong 在 2011年6月18日 下午4:29,Dmitriy Ryaboy <dvrya...@gmail.com>写道: > 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 > >> > > >> > > >