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