Eran,

It looks like the problem is in your return statement. Your Pig schema has
one field called 'result' of type 'long,' so you should return {'result':
result}.

-Sven


On Tue, Jun 18, 2013 at 8:25 AM, Eran Sagi <eran.s...@hotmail.com> wrote:

> Hi,
> I’ve written a PIG LATIN batch which loads a CSV file.
>  To support DateAdd calculation I’ve written and registered a javascript
> function,
> Although tested outside of PIG environment successfully , the DUMP output
> returns empty for all values.
>
>  Enclosed is the Java Script:
>
>  Calcadd.outputSchema = “result:long”;
>                function Calcadd(curdate) {
>                              var tmp = curdate.replace(“-”, “/”);
>                      var tmp = tmp.replace(“-”, “/”);
>                      var tmp2 = new Date(tmp);
>                      tmp2.setDate(tmp2.getDate() – 7);
>                      var y = tmp2.getFullYear();
>                             var m = (tmp2.getMonth()+1);
>                             var d = tmp2.getUTCDate();
>                             var result = (y * 10000 + m * 100 + d);
>                        return {long:result};
>    }
>
> Enclosed is the register tag of the batch:
>
> register ‘C:\Samples\Calc.Js’ using javascript as myfunctions;
>
> Enclosed is the invocation:
>  D = FOREACH C GENERATE DeviceID, CountryTwoLetterName,
> myfunctions.Calcadd(tmpDATE) as newData;
>  E = DUMP D;
>
> the tmpDate field is a 10 character char array : ’2012-04-21′
>  Representing 4Y-MM-DD structure
>  The Dump statement returns empty values for the ‘newData’ field (the
> output of the UDF)
>
> I’ll appreciate and insights
>  Thanks,
> Eran
>




-- 
http://sites.google.com/site/krasser/?utm_source=sig

Reply via email to