You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by GitBox <gi...@apache.org> on 2022/02/08 00:48:40 UTC

[GitHub] [spark] HyukjinKwon commented on a change in pull request #33559: [SPARK-34265][PYTHON][SQL] Instrument Python UDFs using SQL metrics

HyukjinKwon commented on a change in pull request #33559:
URL: https://github.com/apache/spark/pull/33559#discussion_r801178757



##########
File path: sql/core/src/main/scala/org/apache/spark/sql/execution/python/ArrowEvalPythonExec.scala
##########
@@ -61,7 +61,7 @@ private[spark] class BatchIterator[T](iter: Iterator[T], batchSize: Int)
  */
 case class ArrowEvalPythonExec(udfs: Seq[PythonUDF], resultAttrs: Seq[Attribute], child: SparkPlan,

Review comment:
       The error is from here:
   
   ```
   java.lang.reflect.InvocationTargetException
   	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
   	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
   	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
   	at org.apache.spark.sql.catalyst.trees.TreeNode.$anonfun$makeCopy$6(TreeNode.scala:738)
   	at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:83)
   	at org.apache.spark.sql.catalyst.trees.TreeNode.makeCopy(TreeNode.scala:737)
   	at org.apache.spark.sql.catalyst.trees.TreeNode.makeCopy(TreeNode.scala:694)
   	at org.apache.spark.sql.execution.SparkPlan.makeCopy(SparkPlan.scala:99)
   	at org.apache.spark.sql.execution.SparkPlan.makeCopy(SparkPlan.scala:59)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.mapExpressions(QueryPlan.scala:223)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.doCanonicalize(QueryPlan.scala:508)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.canonicalized$lzycompute(QueryPlan.scala:492)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.canonicalized(QueryPlan.scala:491)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.$anonfun$doCanonicalize$1(QueryPlan.scala:506)
   	at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:286)
   	at scala.collection.Iterator.foreach(Iterator.scala:943)
   	at scala.collection.Iterator.foreach$(Iterator.scala:943)
   	at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
   	at scala.collection.IterableLike.foreach(IterableLike.scala:74)
   	at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
   	at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
   	at scala.collection.TraversableLike.map(TraversableLike.scala:286)
   	at scala.collection.TraversableLike.map$(TraversableLike.scala:279)
   	at scala.collection.AbstractTraversable.map(Traversable.scala:108)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.doCanonicalize(QueryPlan.scala:506)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.canonicalized$lzycompute(QueryPlan.scala:492)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.canonicalized(QueryPlan.scala:491)
   	at org.apache.spark.sql.execution.adaptive.AdaptiveSparkPlanExec.doCanonicalize(AdaptiveSparkPlanExec.scala:210)
   	at org.apache.spark.sql.execution.adaptive.AdaptiveSparkPlanExec.doCanonicalize(AdaptiveSparkPlanExec.scala:64)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.canonicalized$lzycompute(QueryPlan.scala:492)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.canonicalized(QueryPlan.scala:491)
   	at org.apache.spark.sql.execution.SubqueryExec.doCanonicalize(basicPhysicalOperators.scala:850)
   	at org.apache.spark.sql.execution.SubqueryExec.doCanonicalize(basicPhysicalOperators.scala:814)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.canonicalized$lzycompute(QueryPlan.scala:492)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.canonicalized(QueryPlan.scala:491)
   	at org.apache.spark.sql.execution.ScalarSubquery.preCanonicalized$lzycompute(subquery.scala:72)
   	at org.apache.spark.sql.execution.ScalarSubquery.preCanonicalized(subquery.scala:71)
   	at org.apache.spark.sql.catalyst.expressions.CastBase.preCanonicalized$lzycompute(Cast.scala:319)
   	at org.apache.spark.sql.catalyst.expressions.CastBase.preCanonicalized(Cast.scala:318)
   	at org.apache.spark.sql.catalyst.expressions.Expression.canonicalized$lzycompute(Expression.scala:261)
   	at org.apache.spark.sql.catalyst.expressions.Expression.canonicalized(Expression.scala:261)
   	at org.apache.spark.sql.catalyst.expressions.Expression.semanticHash(Expression.scala:278)
   	at org.apache.spark.sql.catalyst.expressions.ExpressionEquals.hashCode(EquivalentExpressions.scala:260)
   	at scala.runtime.Statics.anyHash(Statics.java:122)
   	at scala.collection.mutable.HashTable$HashUtils.elemHashCode(HashTable.scala:416)
   	at scala.collection.mutable.HashTable$HashUtils.elemHashCode$(HashTable.scala:416)
   	at scala.collection.mutable.HashMap.elemHashCode(HashMap.scala:44)
   	at scala.collection.mutable.HashTable.findEntry(HashTable.scala:136)
   	at scala.collection.mutable.HashTable.findEntry$(HashTable.scala:135)
   	at scala.collection.mutable.HashMap.findEntry(HashMap.scala:44)
   	at scala.collection.mutable.HashMap.get(HashMap.scala:74)
   	at org.apache.spark.sql.catalyst.expressions.EquivalentExpressions.updateExprInMap(EquivalentExpressions.scala:59)
   	at org.apache.spark.sql.catalyst.expressions.EquivalentExpressions.updateExprTree(EquivalentExpressions.scala:202)
   	at org.apache.spark.sql.catalyst.expressions.EquivalentExpressions.addExprTree(EquivalentExpressions.scala:186)
   	at org.apache.spark.sql.catalyst.expressions.codegen.CodegenContext.$anonfun$subexpressionElimination$1(CodeGenerator.scala:1218)
   	at org.apache.spark.sql.catalyst.expressions.codegen.CodegenContext.$anonfun$subexpressionElimination$1$adapted(CodeGenerator.scala:1218)
   	at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)
   	at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)
   	at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)
   	at org.apache.spark.sql.catalyst.expressions.codegen.CodegenContext.subexpressionElimination(CodeGenerator.scala:1218)
   	at org.apache.spark.sql.catalyst.expressions.codegen.CodegenContext.generateExpressions(CodeGenerator.scala:1271)
   	at org.apache.spark.sql.catalyst.expressions.codegen.GenerateMutableProjection$.create(GenerateMutableProjection.scala:64)
   	at org.apache.spark.sql.catalyst.expressions.codegen.GenerateMutableProjection$.generate(GenerateMutableProjection.scala:49)
   	at org.apache.spark.sql.catalyst.expressions.MutableProjection$.createCodeGeneratedObject(Projection.scala:84)
   	at org.apache.spark.sql.catalyst.expressions.MutableProjection$.createCodeGeneratedObject(Projection.scala:80)
   	at org.apache.spark.sql.catalyst.expressions.CodeGeneratorWithInterpretedFallback.createObject(CodeGeneratorWithInterpretedFallback.scala:47)
   	at org.apache.spark.sql.catalyst.expressions.MutableProjection$.create(Projection.scala:95)
   	at org.apache.spark.sql.catalyst.expressions.MutableProjection$.create(Projection.scala:103)
   	at org.apache.spark.sql.execution.python.EvalPythonExec.$anonfun$doExecute$2(EvalPythonExec.scala:118)
   	at org.apache.spark.rdd.RDD.$anonfun$mapPartitions$2(RDD.scala:855)
   	at org.apache.spark.rdd.RDD.$anonfun$mapPartitions$2$adapted(RDD.scala:855)
   	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
   	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:365)
   	at org.apache.spark.rdd.RDD.iterator(RDD.scala:329)
   	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
   	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:365)
   	at org.apache.spark.rdd.RDD.iterator(RDD.scala:329)
   	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
   	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:365)
   	at org.apache.spark.rdd.RDD.iterator(RDD.scala:329)
   	at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)
   	at org.apache.spark.scheduler.Task.run(Task.scala:136)
   	at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$3(Executor.scala:507)
   	at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1475)
   	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:510)
   	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   	at java.lang.Thread.run(Thread.java:748)
   Caused by: java.lang.NullPointerException
   	at org.apache.spark.sql.execution.SparkPlan.sparkContext(SparkPlan.scala:62)
   	at org.apache.spark.sql.execution.python.ArrowEvalPythonExec.org$apache$spark$sql$execution$python$PythonSQLMetrics$$super$sparkContext(ArrowEvalPythonExec.scala:62)
   	at org.apache.spark.sql.execution.python.PythonSQLMetrics.$init$(PythonSQLMetrics.scala:27)
   	at org.apache.spark.sql.execution.python.ArrowEvalPythonExec.<init>(ArrowEvalPythonExec.scala:64)
   	... 89 more
   
   Driver stacktrace:
   	at org.apache.spark.scheduler.DAGScheduler.failJobAndIndependentStages(DAGScheduler.scala:2618)
   	at org.apache.spark.scheduler.DAGScheduler.$anonfun$abortStage$2(DAGScheduler.scala:2567)
   	at org.apache.spark.scheduler.DAGScheduler.$anonfun$abortStage$2$adapted(DAGScheduler.scala:2566)
   	at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)
   	at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)
   	at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)
   	at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:2566)
   	at org.apache.spark.scheduler.DAGScheduler.$anonfun$handleTaskSetFailed$1(DAGScheduler.scala:1182)
   	at org.apache.spark.scheduler.DAGScheduler.$anonfun$handleTaskSetFailed$1$adapted(DAGScheduler.scala:1182)
   	at scala.Option.foreach(Option.scala:407)
   	at org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:1182)
   	at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive(DAGScheduler.scala:2806)
   	at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:2748)
   	at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:2737)
   	at org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:49)
   	at org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:952)
   	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2228)
   	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2249)
   	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2268)
   	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2293)
   	at org.apache.spark.rdd.RDD.$anonfun$collect$1(RDD.scala:1021)
   	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
   	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
   	at org.apache.spark.rdd.RDD.withScope(RDD.scala:406)
   	at org.apache.spark.rdd.RDD.collect(RDD.scala:1020)
   	at org.apache.spark.sql.execution.SparkPlan.executeCollect(SparkPlan.scala:408)
   	at org.apache.spark.sql.execution.adaptive.AdaptiveSparkPlanExec.$anonfun$executeCollect$1(AdaptiveSparkPlanExec.scala:342)
   	at org.apache.spark.sql.execution.adaptive.AdaptiveSparkPlanExec.withFinalPlanUpdate(AdaptiveSparkPlanExec.scala:370)
   	at org.apache.spark.sql.execution.adaptive.AdaptiveSparkPlanExec.executeCollect(AdaptiveSparkPlanExec.scala:342)
   	at org.apache.spark.sql.execution.SparkPlan.executeCollectPublic(SparkPlan.scala:435)
   	at org.apache.spark.sql.execution.HiveResult$.hiveResultString(HiveResult.scala:76)
   	at org.apache.spark.sql.SQLQueryTestHelper.$anonfun$getNormalizedResult$2(SQLQueryTestHelper.scala:66)
   	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$6(SQLExecution.scala:109)
   	at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:169)
   	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$1(SQLExecution.scala:95)
   	at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:779)
   	at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:64)
   	at org.apache.spark.sql.SQLQueryTestHelper.getNormalizedResult(SQLQueryTestHelper.scala:66)
   	at org.apache.spark.sql.SQLQueryTestHelper.getNormalizedResult$(SQLQueryTestHelper.scala:50)
   	at org.apache.spark.sql.SQLQueryTestSuite.getNormalizedResult(SQLQueryTestSuite.scala:126)
   	at org.apache.spark.sql.SQLQueryTestSuite.$anonfun$runQueries$8(SQLQueryTestSuite.scala:402)
   	at org.apache.spark.sql.SQLQueryTestHelper.handleExceptions(SQLQueryTestHelper.scala:81)
   	at org.apache.spark.sql.SQLQueryTestHelper.handleExceptions$(SQLQueryTestHelper.scala:79)
   	at org.apache.spark.sql.SQLQueryTestSuite.handleExceptions(SQLQueryTestSuite.scala:126)
   	at org.apache.spark.sql.SQLQueryTestSuite.$anonfun$runQueries$7(SQLQueryTestSuite.scala:402)
   	at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:286)
   	at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)
   	at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)
   	at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)
   	at scala.collection.TraversableLike.map(TraversableLike.scala:286)
   	at scala.collection.TraversableLike.map$(TraversableLike.scala:279)
   	at scala.collection.AbstractTraversable.map(Traversable.scala:108)
   	at org.apache.spark.sql.SQLQueryTestSuite.runQueries(SQLQueryTestSuite.scala:401)
   	at org.apache.spark.sql.SQLQueryTestSuite.$anonfun$runTest$34(SQLQueryTestSuite.scala:349)
   	at org.apache.spark.sql.SQLQueryTestSuite.$anonfun$runTest$34$adapted(SQLQueryTestSuite.scala:347)
   	at scala.collection.immutable.List.foreach(List.scala:431)
   	at org.apache.spark.sql.SQLQueryTestSuite.runTest(SQLQueryTestSuite.scala:347)
   	at org.apache.spark.sql.SQLQueryTestSuite.$anonfun$createScalaTestCase$5(SQLQueryTestSuite.scala:254)
   	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
   	at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
   	at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
   	at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
   	at org.scalatest.Transformer.apply(Transformer.scala:22)
   	at org.scalatest.Transformer.apply(Transformer.scala:20)
   	at org.scalatest.funsuite.AnyFunSuiteLike$$anon$1.apply(AnyFunSuiteLike.scala:190)
   	at org.apache.spark.SparkFunSuite.withFixture(SparkFunSuite.scala:203)
   	at org.scalatest.funsuite.AnyFunSuiteLike.invokeWithFixture$1(AnyFunSuiteLike.scala:188)
   	at org.scalatest.funsuite.AnyFunSuiteLike.$anonfun$runTest$1(AnyFunSuiteLike.scala:200)
   	at org.scalatest.SuperEngine.runTestImpl(Engine.scala:306)
   	at org.scalatest.funsuite.AnyFunSuiteLike.runTest(AnyFunSuiteLike.scala:200)
   	at org.scalatest.funsuite.AnyFunSuiteLike.runTest$(AnyFunSuiteLike.scala:182)
   	at org.apache.spark.SparkFunSuite.org$scalatest$BeforeAndAfterEach$$super$runTest(SparkFunSuite.scala:64)
   	at org.scalatest.BeforeAndAfterEach.runTest(BeforeAndAfterEach.scala:234)
   	at org.scalatest.BeforeAndAfterEach.runTest$(BeforeAndAfterEach.scala:227)
   	at org.apache.spark.SparkFunSuite.runTest(SparkFunSuite.scala:64)
   	at org.scalatest.funsuite.AnyFunSuiteLike.$anonfun$runTests$1(AnyFunSuiteLike.scala:233)
   	at org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:413)
   	at scala.collection.immutable.List.foreach(List.scala:431)
   	at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:401)
   	at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:396)
   	at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:475)
   	at org.scalatest.funsuite.AnyFunSuiteLike.runTests(AnyFunSuiteLike.scala:233)
   	at org.scalatest.funsuite.AnyFunSuiteLike.runTests$(AnyFunSuiteLike.scala:232)
   	at org.scalatest.funsuite.AnyFunSuite.runTests(AnyFunSuite.scala:1563)
   	at org.scalatest.Suite.run(Suite.scala:1112)
   	at org.scalatest.Suite.run$(Suite.scala:1094)
   	at org.scalatest.funsuite.AnyFunSuite.org$scalatest$funsuite$AnyFunSuiteLike$$super$run(AnyFunSuite.scala:1563)
   	at org.scalatest.funsuite.AnyFunSuiteLike.$anonfun$run$1(AnyFunSuiteLike.scala:237)
   	at org.scalatest.SuperEngine.runImpl(Engine.scala:535)
   	at org.scalatest.funsuite.AnyFunSuiteLike.run(AnyFunSuiteLike.scala:237)
   	at org.scalatest.funsuite.AnyFunSuiteLike.run$(AnyFunSuiteLike.scala:236)
   	at org.apache.spark.SparkFunSuite.org$scalatest$BeforeAndAfterAll$$super$run(SparkFunSuite.scala:64)
   	at org.scalatest.BeforeAndAfterAll.liftedTree1$1(BeforeAndAfterAll.scala:213)
   	at org.scalatest.BeforeAndAfterAll.run(BeforeAndAfterAll.scala:210)
   	at org.scalatest.BeforeAndAfterAll.run$(BeforeAndAfterAll.scala:208)
   	at org.apache.spark.SparkFunSuite.run(SparkFunSuite.scala:64)
   	at org.scalatest.tools.Framework.org$scalatest$tools$Framework$$runSuite(Framework.scala:318)
   	at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:513)
   	at sbt.ForkMain$Run.lambda$runTest$1(ForkMain.java:413)
   	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
   	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   	at java.lang.Thread.run(Thread.java:748)
   Caused by: java.lang.reflect.InvocationTargetException
   	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
   	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
   	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
   	at org.apache.spark.sql.catalyst.trees.TreeNode.$anonfun$makeCopy$6(TreeNode.scala:738)
   	at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:83)
   	at org.apache.spark.sql.catalyst.trees.TreeNode.makeCopy(TreeNode.scala:737)
   	at org.apache.spark.sql.catalyst.trees.TreeNode.makeCopy(TreeNode.scala:694)
   	at org.apache.spark.sql.execution.SparkPlan.makeCopy(SparkPlan.scala:99)
   	at org.apache.spark.sql.execution.SparkPlan.makeCopy(SparkPlan.scala:59)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.mapExpressions(QueryPlan.scala:223)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.doCanonicalize(QueryPlan.scala:508)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.canonicalized$lzycompute(QueryPlan.scala:492)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.canonicalized(QueryPlan.scala:491)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.$anonfun$doCanonicalize$1(QueryPlan.scala:506)
   	at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:286)
   	at scala.collection.Iterator.foreach(Iterator.scala:943)
   	at scala.collection.Iterator.foreach$(Iterator.scala:943)
   	at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
   	at scala.collection.IterableLike.foreach(IterableLike.scala:74)
   	at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
   	at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
   	at scala.collection.TraversableLike.map(TraversableLike.scala:286)
   	at scala.collection.TraversableLike.map$(TraversableLike.scala:279)
   	at scala.collection.AbstractTraversable.map(Traversable.scala:108)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.doCanonicalize(QueryPlan.scala:506)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.canonicalized$lzycompute(QueryPlan.scala:492)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.canonicalized(QueryPlan.scala:491)
   	at org.apache.spark.sql.execution.adaptive.AdaptiveSparkPlanExec.doCanonicalize(AdaptiveSparkPlanExec.scala:210)
   	at org.apache.spark.sql.execution.adaptive.AdaptiveSparkPlanExec.doCanonicalize(AdaptiveSparkPlanExec.scala:64)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.canonicalized$lzycompute(QueryPlan.scala:492)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.canonicalized(QueryPlan.scala:491)
   	at org.apache.spark.sql.execution.SubqueryExec.doCanonicalize(basicPhysicalOperators.scala:850)
   	at org.apache.spark.sql.execution.SubqueryExec.doCanonicalize(basicPhysicalOperators.scala:814)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.canonicalized$lzycompute(QueryPlan.scala:492)
   	at org.apache.spark.sql.catalyst.plans.QueryPlan.canonicalized(QueryPlan.scala:491)
   	at org.apache.spark.sql.execution.ScalarSubquery.preCanonicalized$lzycompute(subquery.scala:72)
   	at org.apache.spark.sql.execution.ScalarSubquery.preCanonicalized(subquery.scala:71)
   	at org.apache.spark.sql.catalyst.expressions.CastBase.preCanonicalized$lzycompute(Cast.scala:319)
   	at org.apache.spark.sql.catalyst.expressions.CastBase.preCanonicalized(Cast.scala:318)
   	at org.apache.spark.sql.catalyst.expressions.Expression.canonicalized$lzycompute(Expression.scala:261)
   	at org.apache.spark.sql.catalyst.expressions.Expression.canonicalized(Expression.scala:261)
   	at org.apache.spark.sql.catalyst.expressions.Expression.semanticHash(Expression.scala:278)
   	at org.apache.spark.sql.catalyst.expressions.ExpressionEquals.hashCode(EquivalentExpressions.scala:260)
   	at scala.runtime.Statics.anyHash(Statics.java:122)
   	at scala.collection.mutable.HashTable$HashUtils.elemHashCode(HashTable.scala:416)
   	at scala.collection.mutable.HashTable$HashUtils.elemHashCode$(HashTable.scala:416)
   	at scala.collection.mutable.HashMap.elemHashCode(HashMap.scala:44)
   	at scala.collection.mutable.HashTable.findEntry(HashTable.scala:136)
   	at scala.collection.mutable.HashTable.findEntry$(HashTable.scala:135)
   	at scala.collection.mutable.HashMap.findEntry(HashMap.scala:44)
   	at scala.collection.mutable.HashMap.get(HashMap.scala:74)
   	at org.apache.spark.sql.catalyst.expressions.EquivalentExpressions.updateExprInMap(EquivalentExpressions.scala:59)
   	at org.apache.spark.sql.catalyst.expressions.EquivalentExpressions.updateExprTree(EquivalentExpressions.scala:202)
   	at org.apache.spark.sql.catalyst.expressions.EquivalentExpressions.addExprTree(EquivalentExpressions.scala:186)
   	at org.apache.spark.sql.catalyst.expressions.codegen.CodegenContext.$anonfun$subexpressionElimination$1(CodeGenerator.scala:1218)
   	at org.apache.spark.sql.catalyst.expressions.codegen.CodegenContext.$anonfun$subexpressionElimination$1$adapted(CodeGenerator.scala:1218)
   	at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)
   	at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)
   	at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)
   	at org.apache.spark.sql.catalyst.expressions.codegen.CodegenContext.subexpressionElimination(CodeGenerator.scala:1218)
   	at org.apache.spark.sql.catalyst.expressions.codegen.CodegenContext.generateExpressions(CodeGenerator.scala:1271)
   	at org.apache.spark.sql.catalyst.expressions.codegen.GenerateMutableProjection$.create(GenerateMutableProjection.scala:64)
   	at org.apache.spark.sql.catalyst.expressions.codegen.GenerateMutableProjection$.generate(GenerateMutableProjection.scala:49)
   	at org.apache.spark.sql.catalyst.expressions.MutableProjection$.createCodeGeneratedObject(Projection.scala:84)
   	at org.apache.spark.sql.catalyst.expressions.MutableProjection$.createCodeGeneratedObject(Projection.scala:80)
   	at org.apache.spark.sql.catalyst.expressions.CodeGeneratorWithInterpretedFallback.createObject(CodeGeneratorWithInterpretedFallback.scala:47)
   	at org.apache.spark.sql.catalyst.expressions.MutableProjection$.create(Projection.scala:95)
   	at org.apache.spark.sql.catalyst.expressions.MutableProjection$.create(Projection.scala:103)
   	at org.apache.spark.sql.execution.python.EvalPythonExec.$anonfun$doExecute$2(EvalPythonExec.scala:118)
   	at org.apache.spark.rdd.RDD.$anonfun$mapPartitions$2(RDD.scala:855)
   	at org.apache.spark.rdd.RDD.$anonfun$mapPartitions$2$adapted(RDD.scala:855)
   	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
   	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:365)
   	at org.apache.spark.rdd.RDD.iterator(RDD.scala:329)
   	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
   	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:365)
   	at org.apache.spark.rdd.RDD.iterator(RDD.scala:329)
   	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
   	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:365)
   	at org.apache.spark.rdd.RDD.iterator(RDD.scala:329)
   	at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)
   	at org.apache.spark.scheduler.Task.run(Task.scala:136)
   	at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$3(Executor.scala:507)
   	at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1475)
   	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:510)
   	... 3 more
   Caused by: java.lang.NullPointerException
   	at org.apache.spark.sql.execution.SparkPlan.sparkContext(SparkPlan.scala:62)
   	at org.apache.spark.sql.execution.python.ArrowEvalPythonExec.org$apache$spark$sql$execution$python$PythonSQLMetrics$$super$sparkContext(ArrowEvalPythonExec.scala:62)
   	at org.apache.spark.sql.execution.python.PythonSQLMetrics.$init$(PythonSQLMetrics.scala:27)
   	at org.apache.spark.sql.execution.python.ArrowEvalPythonExec.<init>(ArrowEvalPythonExec.scala:64)
   	... 89 more
   ```




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org