2016-09-30 9 views
0

私はthe SAMRecord classのスパークでKryoを使用しようとしていますが、実行時にエラーが表示されています。私はこのエラーの意味を理解していない、誰も説明することができますか? Kryoがこれに対応するためには何を変更する必要がありますか?問題は、メンバ変数mAlignmentBlocksList<AlignmentBlock>の場合です。 Kryoはそのようなリストに問題がありますか?Kryo java.lang.UnspportedOperationException

私は、次のコードを使用してAlignmentBlockSAMRecordの両方を登録している注:

com.esotericsoftware.kryo.KryoException:javaの

kryo.register(classOf[AlignmentBlock]) 
kryo.register(classOf[SAMRecord]) 

そして、私が手にエラーがこれです。 lang.UnsupportedOperationException シリアライズトレース: mAlignmentBlocks(htsjdk.samtools.SAMRecord) at com.esotericsoftware.kryo.serializers.FieldSerializer $ ObjectField.read(Field )。com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:729) at com.twitter。 (TupleSerializers.scala:33) 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(イテレータ.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:152) at org.apache.spark.Aggregator.combineValuesByKey(Aggregator.scala :45) at org.apache.spark.shuffle.BlockStoreShuffleReader.read(BlockStoreShuffleReader.scala:89) org.apache.spark.rdd.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)

答えて

0

インターフェイスを実装するクラスでメソッドを呼び出していますが、このメソッドの実装は存在しません。

+0

詳細を教えてください。私はあなたが言ったことを理解していませんでした。どのクラスの実装が存在しないのですか?あなたはList クラスを意味しますか?もしそうなら、どうすればいいですか? – pythonic

+0

私はkryoを知らないので、私の解説は抽象的であることができるようになりました。あなたが呼ぶメソッドが見つかりました。これはあなたにこの例外を与えています。そのソースコードを参照してください。私は自分の携帯電話で私として自分自身を行うことはできません... – Tokazio

+0

kryoにあるようです。ごめんなさいkryoについてもっと知らないのでもっと助けてくれる。シリアル化するためにkryoと呼ぶコードを置く – Tokazio

関連する問題