【发布时间】:2022-09-28 22:12:52
【问题描述】:
我正在使用 Java 17 和 UDF 在 Windows 10 上运行一个简单的 Spark 3.3.0 小管道。我几乎没有做任何有趣的事情,现在当我只在 30,000 条记录上运行管道时,我得到了这个:
[ERROR] Error in removing shuffle 2
java.lang.NullPointerException: Cannot invoke \"org.apache.spark.ShuffleStatus.invalidateSerializedMapOutputStatusCache()\" because \"shuffleStatus\" is null
at org.apache.spark.MapOutputTrackerMaster.$anonfun$unregisterShuffle$1(MapOutputTracker.scala:882)
at org.apache.spark.MapOutputTrackerMaster.$anonfun$unregisterShuffle$1$adapted(MapOutputTracker.scala:881)
at scala.Option.foreach(Option.scala:437)
at org.apache.spark.MapOutputTrackerMaster.unregisterShuffle(MapOutputTracker.scala:881)
at org.apache.spark.storage.BlockManagerStorageEndpoint$$anonfun$receiveAndReply$1.$anonfun$applyOrElse$3(BlockManagerStorageEndpoint.scala:59)
at scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.scala:17)
at org.apache.spark.storage.BlockManagerStorageEndpoint.$anonfun$doAsync$1(BlockManagerStorageEndpoint.scala:89)
at scala.concurrent.Future$.$anonfun$apply$1(Future.scala:678)
at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:467)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
我搜索并找不到错误消息中的任何主要术语。
令人不安的是,Spark 正在打破似乎是处理的基本部分,并使用NullPointerException。
我提交了票SPARK-40582。
标签: java apache-spark spark-shuffle