Thanks Alan,
Big mistake i have made 'not declare constructor public'.
Its working fine....

On Tue, Nov 29, 2011 at 6:54 AM, Alan Gates <[email protected]> wrote:

> Does PigClass have a constructor that takes a single String?  Can you
> share the code for your UDF?
>
> Alan.
>
> On Nov 28, 2011, at 12:26 AM, Anil Barfa wrote:
>
> > Thanks Prashant,
> > I am using 'Apache Pig version 0.8.0'.
> > package name is correct.
> > It work correct if i remove constructor  (i.e  if remove constructor and
> > remove '--define' from pig script.)
> >
> >
> >
> > On Mon, Nov 28, 2011 at 1:41 PM, Prashant Kommireddi <
> [email protected]>wrote:
> >
> >> What version of Pig are you using? Can you make sure the package
> name/path
> >> "myjar.PigClass" is correct.
> >>
> >> On Sun, Nov 27, 2011 at 11:56 PM, Anil Barfa <[email protected]>
> wrote:
> >>
> >>> Hi
> >>> I am using java UDF with pig. I want pass file name to UDF. I have done
> >> it
> >>> as follows but it is not working.
> >>>
> >>> PIg script
> >>>
> >>> REGISTER myjar.jar;
> >>> DEFINE myfun myjar.PigClass('/home/myfile.txt');
> >>>
> >>> --load input data
> >>> InputValue =  LOAD '$input'  AS (val1,val2,val3);
> >>>
> >>> InputWithMeta = FOREACH InputValue GENERATE myfun(val1,val2,val3);
> >>>
> >>>
> >>> Java code PigClass.java
> >>>
> >>> class PigClass extends EvalFunc<Tuple>
> >>> {
> >>> public PigClass(String strPath)
> >>> {
> >>> }
> >>> public Tuple exec(Tuple input ) throws IOException {
> >>> }
> >>> };
> >>>
> >>> I am getting following Error.
> >>>
> >>> *<file MyScript.pig, line 7, column 45> Failed to generate logical
> plan.
> >>> Nested exception: java.lang.RuntimeException: could not instantiate '
> >>> myjar.PigClass**' with arguments '[/home/myfile.txt]'*
> >>>
> >>>
> >>> Thanks and Regards
> >>> Anil Barfa
> >>>
> >>
>
>

Reply via email to