Hi, all

I wrote a spark program which uses the Kryo serialization. When I count a rdd 
which type is RDD[(String,String)], it reported an Exception like the following 
:
* Class is not registered: org.apache.spark.util.collection.CompactBuffer[]
* Note: To register this class use: 
kryo.register(org.apache.spark.util.collection.CompactBuffer[].class);



I found that CompactBuffer is a private class that I could not use the API 
sparkConf.registerKryoClasses to register it. Although I found a solution from 
Andras Barjak that is using the statement : 
kryo.register(ClassTag(Class.forName("org.apache.spark.util.collection.CompactBuffer")).wrap.runtimeClass),
 I tried it with sparkConfg.registerKryoClasses, and only got another Exception 
:
* Class is not registered: scala.reflect.ManifestFactory$$anon$1


Could anybody tell me :
1.Why should I register CompactBuffer[] ? My program never used it.
2.How to solve this problem?


Many Thanks!

Reply via email to