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