Когда я выполняю следующий простой код Spark:
val trial = Try {
require(
requirement = false,
"error!"
)
}
val ee = trial.failed.get
sparkContext.parallelize(Seq(ee))
.collect()
Я получил следующую ошибку:
Job aborted due to stage failure: Task 3 in stage 0.0 failed 4 times, most recent failure: Lost task 3.3 in stage 0.0 (TID 6, 10.0.9.145, executor 1): com.esotericsoftware.kryo.KryoException: java.lang.NullPointerException
Serialization trace:
suppressedExceptions (java.lang.IllegalArgumentException)
at com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:101)
at com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:518)
at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:628)
at com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer.write(DefaultArraySerializers.java:366)
at com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer.write(DefaultArraySerializers.java:307)
at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:628)
at org.apache.spark.serializer.KryoSerializerInstance.serialize(KryoSerializer.scala:315)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:386)
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 java.util.Collections$UnmodifiableCollection.size(Collections.java:1030)
at com.esotericsoftware.kryo.serializers.CollectionSerializer.write(CollectionSerializer.java:83)
at com.esotericsoftware.kryo.serializers.CollectionSerializer.write(CollectionSerializer.java:40)
at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:552)
at com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:80)
... 10 more
Видимо, эта ошибка вызвана тем, что элемент suppressedExceptions, который я обнаружил пустым при отладке. Кроме того, я не могу найти аналогичных ошибок в Интернете. В чем причина этой ошибки и что я должен сделать, чтобы ее избежать?