Java 火花1.6与Kryo 2.21和ArrayList

Java 火花1.6与Kryo 2.21和ArrayList,java,apache-spark,kryo,Java,Apache Spark,Kryo,我正在尝试将Spark 1.6.0与Kryo 2.21结合使用。这真的令人沮丧,因为我无法找出是什么导致了这个错误 我在Arraylist类的第234行没有看到任何可能导致空指针的内容。在类路径上使用Kryo2.22也会导致这种情况吗。请帮忙。谢谢 SparkConf conf = new SparkConf().setAppName("ABC"); conf.set("spark.serializer", KryoSerializer.class.getName

我正在尝试将Spark 1.6.0与Kryo 2.21结合使用。这真的令人沮丧,因为我无法找出是什么导致了这个错误

我在Arraylist类的第234行没有看到任何可能导致空指针的内容。在类路径上使用Kryo2.22也会导致这种情况吗。请帮忙。谢谢

        SparkConf conf = new SparkConf().setAppName("ABC");
        conf.set("spark.serializer", KryoSerializer.class.getName());
        conf.registerKryoClasses(new Class[] { ArrayList.class, VC.class, DC.class });
堆栈跟踪:

java.lang.NullPointerException
        at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:234)
        at java.util.ArrayList.ensureCapacity(ArrayList.java:218)
        at com.esotericsoftware.kryo.serializers.CollectionSerializer.read(CollectionSerializer.java:89)
        at com.esotericsoftware.kryo.serializers.CollectionSerializer.read(CollectionSerializer.java:18)
        at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:729)
        at org.apache.spark.serializer.KryoDeserializationStream.readObject(KryoSerializer.scala:228)
        at org.apache.spark.serializer.DeserializationStream.readValue(Serializer.scala:171)
        at org.apache.spark.serializer.DeserializationStream$$anon$2.getNext(Serializer.scala:201)
        at org.apache.spark.serializer.DeserializationStream$$anon$2.getNext(Serializer.scala:198)
        at org.apache.spark.util.NextIterator.hasNext(NextIterator.scala:73)
        at scala.collection.Iterator$$anon$13.hasNext(Iterator.scala:371)
        at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:327)
        at org.apache.spark.util.CompletionIterator.hasNext(CompletionIterator.scala:32)
        at org.apache.spark.InterruptibleIterator.hasNext(InterruptibleIterator.scala:39)
        at org.apache.spark.util.collection.ExternalAppendOnlyMap.insertAll(ExternalAppendOnlyMap.scala:153)
        at org.apache.spark.Aggregator.combineCombinersByKey(Aggregator.scala:58)
        at org.apache.spark.shuffle.BlockStoreShuffleReader.read(BlockStoreShuffleReader.scala:89)
        at org.apache.spark.rdd.ShuffledRDD.compute(ShuffledRDD.scala:98)
        at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:306)
        at org.apache.spark.rdd.RDD.iterator(RDD.scala:270)
        at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38)
        at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:306)
        at org.apache.spark.rdd.RDD.iterator(RDD.scala:270)
        at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38)
        at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:306)
        at org.apache.spark.rdd.RDD.iterator(RDD.scala:270)
        at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38)
        at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:306)
        at org.apache.spark.rdd.RDD.iterator(RDD.scala:270)
        at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:66)
        at org.apache.spark.scheduler.Task.run(Task.scala:89)
        at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:242)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

你能分享你的代码吗?这个错误似乎来自Java数组类,而不是您的代码。是的,我将制作代码的最小版本并与您共享。