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