Hi Debabrata.
Thank you very responding.
Below is moy javascript snippet.

Javascript :

parseString.outputSchema = "dataMap:chararray";
function parseString(str) {
var result = {};
str.split('&').forEach(function(splitString) {
var arr = splitString.split('=');
arr[1] && (result[arr[0]] = arr[1]);
//var oldJSONStringify = JSON.stringify;
//console.log(oldJSONStringify(result));
return result;
//return oldJSONStringify(result);

});

}



On 13 July 2015 at 13:37, Debabrata Pani <android.p...@gmail.com> wrote:

> A snippet of your parseString javascript UDF may help .
> Can you share it ?
> Additionally, you have just mentioned the LOAD statement in your pig
> script.
> Can you show how you "register"ed your javascript UDF and also how you used
> your js UDF ?
>
> Regards,
> Debabrata
>
> On Tue, Jul 7, 2015 at 2:26 PM, Divya Gehlot <divya.htco...@gmail.com>
> wrote:
>
> > Hi,
> > I have sritten a javscript UDF and as mentioned in pig guide
> > <http://pig.apache.org/docs/r0.9.2/udf.html#udf-java> .I have declared
> the
> > outputschema in my js file
> >
> > parseString.outputSchema = "dataMap:chararray";
> >
> > whereas same datatype is availble in my pig script too.
> > A = LOAD '$input_file' AS(
> > number3:int,number4:float,dataMap:chararray);
> >
> > Still I am getting below error
> > 2015-07-07 01:46:59,466 [main] ERROR
> org.apache.pig.tools.grunt.GruntParser
> > - ERROR 2997: Unable to recreate exception from backed error: Error:
> > org.apache.pig.backend.executionengine.ExecException: ERROR 0: Exception
> > while executing [POUserFunc (Name:
> > POUserFunc(org.apache.pig.scripting.js.JsFunction)[chararray] - scope-35
> > Operator Key: scope-35) children: null at []]:
> > org.mozilla.javascript.EcmaError: ReferenceError: "dataMap" is not
> defined.
> > (/x/home/lrennison/monitoring.js#9)
> >         at
> >
> >
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator.getNext(PhysicalOperator.java:366)
> >         at
> >
> >
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach.processPlan(POForEach.java:383)
> >         at
> >
> >
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach.getNextTuple(POForEach.java:303)
> >         at
> >
> >
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.runPipeline(PigGenericMapBase.java:279)
> >         at
> >
> >
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.map(PigGenericMapBase.java:274)
> >         at
> >
> >
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.map(PigGenericMapBase.java:64)
> >         at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145)
> >         at
> org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784)
> >         at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
> >         at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
> >         at java.security.AccessController.doPrivileged(Native Method)
> >         at javax.security.auth.Subject.doAs(Subject.java:415)
> >         at
> >
> >
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
> >         at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
> > Caused by: org.mozilla.javascript.EcmaError: ReferenceError: "dataMap" is
> > not defined. (/x/home/lrennison/monitoring.js#9)
> >         at
> >
> >
> org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3654)
> >         at
> >
> >
> org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3632)
> >         at
> >
> org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3717)
> >         at
> >
> >
> org.mozilla.javascript.ScriptRuntime.nameOrFunction(ScriptRuntime.java:1758)
> >         at org.mozilla.javascript.ScriptRuntime.name
> > (ScriptRuntime.java:1697)
> >         at
> > org.mozilla.javascript.gen.c2._c2(/x/home/lrennison/monitoring.js:9)
> >         at
> > org.mozilla.javascript.gen.c2.call(/x/home/lrennison/monitoring.js)
> >         at
> > org.mozilla.javascript.NativeArray.iterativeMethod(NativeArray.java:1582)
> >         at
> > org.mozilla.javascript.NativeArray.execIdCall(NativeArray.java:322)
> >         at
> > org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:129)
> >         at
> > org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66)
> >         at
> > org.mozilla.javascript.gen.c2._c1(/x/home/lrennison/monitoring.js:4)
> >         at
> > org.mozilla.javascript.gen.c2.call(/x/home/lrennison/monitoring.js)
> >         at
> > org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:398)
> >         at
> > org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3065)
> >         at
> > org.mozilla.javascript.gen.c2.call(/x/home/lrennison/monitoring.js)
> >         at
> >
> org.apache.pig.scripting.js.JsScriptEngine.jsCall(JsScriptEngine.java:170)
> >         at
> org.apache.pig.scripting.js.JsFunction.exec(JsFunction.java:215)
> >         at
> >
> >
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc.getNext(POUserFunc.java:323)
> >         at
> >
> >
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc.getNextString(POUserFunc.java:423)
> >         at
> >
> >
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator.getNext(PhysicalOperator.java:343)
> >         ... 13 more
> >
> > Can somebody point pout the missing area .
> > Would really appreciate your help .
> >
>

Reply via email to