Is there a special reason you are writing your own function? Have you taken a look at the following: http://pig.apache.org/docs/r0.11.0/api/org/apache/pig/piggybank/evaluation/datetime/convert/ISOToUnix.html
Regards, Shahab On Tue, Jun 18, 2013 at 11:36 AM, Eran Sagi <[email protected]> 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 > >
