You need to have your class file in this path

/home/huyong/test/myudfs/UPPER.class

since it's in myudfs directory. 


On Jun 18, 2011, at 12:33 PM, 勇胡 <yongyong...@gmail.com> wrote:

> 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
>>>>> 
>>>> 
>>> 
>> 

Reply via email to