Re: why the udf can not work

2011-06-20 Thread 勇胡
Thanks for your help. I didn't even notice that. Now it works. yong 2011/6/19 Dmitriy Ryaboy > It's even worse than just the missing package name. > > When you create a jar, its root is supposed to be the root of your package > tree. > > So a class "com.foo.Bar" has to be in "com/foo/Bar.class"

Re: why the udf can not work

2011-06-19 Thread Dmitriy Ryaboy
It's even worse than just the missing package name. When you create a jar, its root is supposed to be the root of your package tree. So a class "com.foo.Bar" has to be in "com/foo/Bar.class" when you run jar tf on the jarfile. If it's in "home/me/src/com/foo/Bar.class" or just in "Bar.class" or

Re: why the udf can not work

2011-06-19 Thread Dexin Wang
Looks like you need to learn a bit about how java package works. The path for the class file needs to be /home/huyong/test/*myudfs*/UPPER.class Or remove the first line in your UDF code "package myudfs;" and redo everything you did, it will work. 2011/6/19 勇胡 > In this path, it has already con

Re: why the udf can not work

2011-06-19 Thread 勇胡
In this path, it has already contained UPPER.class and UPPER.java. And the myudfs.jar is also in the path. But it did not work. By the way, my Pig version is 0.8.1. Is there something, for example, classpath I have to set up in the Pig configuration? Yong 在 2011年6月19日 上午4:10,Dexin Wang 写道: > You

Re: why the udf can not work

2011-06-18 Thread Dexin Wang
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, 勇胡 wrote: > I tried your command and then it shows me as following: > /home/huyong/test/UPPER.class > /home/huyong/test/UPPER.java > > Yong > 在 20

Re: why the udf can not work

2011-06-18 Thread 勇胡
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 写道: > This usually hapens when you aren't registering what you think you are > registering. > try `jar tf /home/huyong/test/myudfs.jar | grep

Re: why the udf can not work

2011-06-18 Thread Dmitriy Ryaboy
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 勇胡 : > Hi, > > package myudfs; > import java.io.IOException; > import org.apache.pig.EvalFunc; > import org.apache.pi

Re: why the udf can not work

2011-06-18 Thread 勇胡
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 { public String exec(Tuple input) throws IOException { if (input == null || input.size() == 0)

Re: why the udf can not work

2011-06-18 Thread Jonathan Coveney
Can you paste the content of the UDF? 2011/6/18 勇胡 > 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.t

why the udf can not work

2011-06-18 Thread 勇胡
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(