Hi Shahab, Thanks for the fast replay!, Yes, the reason is that I'm looking for a DateAdd capabilities, while the piggybank (as I understand it), handles only format conversion. I'll appreciate if you can refer me to any samples of using Piggybank for DateAdd calculations. Thanks, Eran
> Date: Tue, 18 Jun 2013 13:17:19 -0400 > Subject: Re: Javascript UDF return Empty results > From: [email protected] > To: [email protected] > > 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 > > > >
