[ https://issues.apache.org/jira/browse/PIG-4192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
liyunzhang_intel updated PIG-4192: ---------------------------------- Status: Patch Available (was: Open) > Make ruby udfs work with Spark > ------------------------------ > > Key: PIG-4192 > URL: https://issues.apache.org/jira/browse/PIG-4192 > Project: Pig > Issue Type: Sub-task > Components: spark > Reporter: Praveen Rachabattuni > Assignee: liyunzhang_intel > Attachments: PIG-4232_1.patch, PIG-4265.patch > > > Related e2e tests: RubyUDFs_1 - RubyUDFs_13 > Sample script: > register './libexec/ruby/scriptingudfs.rb' using jruby as myfuncs; > a = load '/user/pig/tests/data/singlefile/studenttab10k' using PigStorage() > as (name, age:int, gpa:double); > b = foreach a generate myfuncs.square(age); > store b into '/user/pig/out/praveenr-1411382446-nightly.conf/RubyUDFs_1.out'; > Pig Stack Trace > --------------- > ERROR 0: org.apache.spark.SparkException: Job aborted: Task 0.0:0 failed 1 > times (most recent failure: Exception failure: java.lang.RuntimeException: > org.apache.pig.backend.executionengine.ExecException: ERROR 0: Exception > while executing [POUserFunc (Name: > POUserFunc(org.apache.pig.scripting.jruby.JrubyEvalFunc)[int] - scope-3 > Operator Key: scope-3) children: null at []]: java.lang.NullPointerException) > org.apache.pig.backend.executionengine.ExecException: ERROR 0: > org.apache.spark.SparkException: Job aborted: Task 0.0:0 failed 1 times (most > recent failure: Exception failure: java.lang.RuntimeException: > org.apache.pig.backend.executionengine.ExecException: ERROR 0: Exception > while executing [POUserFunc (Name: > POUserFunc(org.apache.pig.scripting.jruby.JrubyEvalFunc)[int] - scope-3 > Operator Key: scope-3) children: null at []]: java.lang.NullPointerException) > at > org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.launchPig(HExecutionEngine.java:285) > at org.apache.pig.PigServer.launchPlan(PigServer.java:1378) > at > org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:1363) > at org.apache.pig.PigServer.execute(PigServer.java:1352) > at org.apache.pig.PigServer.executeBatch(PigServer.java:403) > at org.apache.pig.PigServer.executeBatch(PigServer.java:386) > at > org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:170) > at > org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:233) > at > org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:204) > at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:81) > at org.apache.pig.Main.run(Main.java:611) > at org.apache.pig.Main.main(Main.java:164) > Caused by: org.apache.spark.SparkException: Job aborted: Task 0.0:0 failed 1 > times (most recent failure: Exception failure: java.lang.RuntimeException: > org.apache.pig.backend.executionengine.ExecException: ERROR 0: Exception > while executing [POUserFunc (Name: > POUserFunc(org.apache.pig.scripting.jruby.JrubyEvalFunc)[int] - scope-3 > Operator Key: scope-3) children: null at []]: java.lang.NullPointerException) > at > org.apache.spark.scheduler.DAGScheduler$$anonfun$org$apache$spark$scheduler$DAGScheduler$$abortStage$1.apply(DAGScheduler.scala:1028) > at > org.apache.spark.scheduler.DAGScheduler$$anonfun$org$apache$spark$scheduler$DAGScheduler$$abortStage$1.apply(DAGScheduler.scala:1026) > at > scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59) > at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47) > at > org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$abortStage(DAGScheduler.scala:1026) > at > org.apache.spark.scheduler.DAGScheduler$$anonfun$processEvent$10.apply(DAGScheduler.scala:619) > at > org.apache.spark.scheduler.DAGScheduler$$anonfun$processEvent$10.apply(DAGScheduler.scala:619) > at scala.Option.foreach(Option.scala:236) > at > org.apache.spark.scheduler.DAGScheduler.processEvent(DAGScheduler.scala:619) > at > org.apache.spark.scheduler.DAGScheduler$$anonfun$start$1$$anon$2$$anonfun$receive$1.applyOrElse(DAGScheduler.scala:207) > at akka.actor.ActorCell.receiveMessage(ActorCell.scala:498) > at akka.actor.ActorCell.invoke(ActorCell.scala:456) > at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:237) > at akka.dispatch.Mailbox.run(Mailbox.scala:219) > at > akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:386) > at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) > at > scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) > at > scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) > at > scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) > ================================================================================ -- This message was sent by Atlassian JIRA (v6.3.4#6332)