Hi, Unfortunately , I'm using PIG build 0.9.3 (Part of the HortonWorks deployment for Azure Service)> I've checked documentation for the 0.9.2 build and the AddDuration isn't included (Nor does any other Date Manipulation).
Is there any JAR out there which I could use if no solution to the JavaScript is found ? Thanks, Eran > Date: Tue, 18 Jun 2013 16:46:47 -0400 > Subject: Re: Javascript UDF return Empty results > From: [email protected] > To: [email protected] > > 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 > > > > > > > > > >
