Pig Forum

Javascript UDF return Empty results

  • #27714
    Eran Sagi


    I’ve written a PIG LATIN batch which loads a CSV file.
    To support DateAdd calculation I’ve written and registered a javascript function:
    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


to create new topics or reply. | New User Registration

  • Author
  • #28704

    Hi Eran,

    Does the javascript work when run outside of pig?


You must be to reply to this topic. | Create Account

Support from the Experts

A HDP Support Subscription connects you experts with deep experience running Apache Hadoop in production, at-scale on the most demanding workloads.

Enterprise Support »

Become HDP Certified

Real world training designed by the core architects of Hadoop. Scenario-based training courses are available in-classroom or online from anywhere in the world

Training »

Hortonworks Data Platform
The Hortonworks Data Platform is a 100% open source distribution of Apache Hadoop that is truly enterprise grade having been built, tested and hardened with enterprise rigor.
Get started with Sandbox
Hortonworks Sandbox is a self-contained virtual machine with Apache Hadoop pre-configured alongside a set of hands-on, step-by-step Hadoop tutorials.
Modern Data Architecture
Tackle the challenges of big data. Hadoop integrates with existing EDW, RDBMS and MPP systems to deliver lower cost, higher capacity infrastructure.