问题描述
尝试以下代码时出现序列化错误
public Result implements Serializable {
ArrayList<AvroGeneratedEntity> entities;
Map<Integer,String> stringMap;
}
public SomeBo {
public void aMethod () {
......
JavaRdd<Result> resultJavaRDD = rdd.map(f -> {
});
resultJavaRDD.repartition(1).collect(); // Error throws
......
}
}
根据错误消息,这是因为AvroGeneratedEntity无法序列化
Serialization stack:
- object not serializable (class: com.testing.AvroGeneratedEntity,value:
.....
- field (class: com.testing.AvroGeneratedEntity,name: entities,type: class java.util.ArrayList)
- object (class com.testing.AvroGeneratedEntity,com.testing.AvroGeneratedEntity@390fcb0c)
at org.apache.spark.serializer.SerializationDebugger$.improveException(SerializationDebugger.scala:40)
at org.apache.spark.serializer.JavaSerializationStream.writeObject(JavaSerializer.scala:47)
at org.apache.spark.serializer.SerializationStream.writeValue(Serializer.scala:147)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)