Take a look at these. Do they help? http://pig.apache.org/docs/r0.11.0/func.html#add-duration http://pig.apache.org/docs/r0.11.1/api/index.html?org/apache/pig/piggybank/evaluation/datetime/diff/package-tree.html http://pig.apache.org/docs/r0.11.0/api/org/apache/pig/piggybank/evaluation/datetime/DiffDate.html
Regards, Shahab On Tue, Jun 18, 2013 at 4:28 PM, Eran Sagi <[email protected]> wrote: > 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 > > > > > > >
