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‏
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