Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Plain View
Pig >> mail # user >> Javascript UDF return Empty results‏


+
Eran Sagi 2013-06-18, 16:52
+
Eran Sagi 2013-06-18, 15:25
+
Eran Sagi 2013-06-18, 15:36
+
Shahab Yunus 2013-06-18, 17:17
+
Eran Sagi 2013-06-18, 20:28
Copy link to this message
-
Re: Javascript UDF return Empty results
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
> > >
> > >
>
+
Eran Sagi 2013-06-19, 10:01
+
Sven Krasser 2014-08-04, 21:47