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
                                          

Reply via email to