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

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

Copy link to this message
Javascript UDF return Empty results
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