我有案例类是这样的:星火集工会复位类变量
case class Ais(NotImportant)
extends Serializable {
var flag = Ais.Flag.NotFlagged
var cluster = Ais.Unknown
var visited = false
override def toString(): String = {
s"$cluster,$flag,$visited"
}
}
运行我的算法,我结束了(Int,Ais)
凡在Ais
对象变量包含的信息类型的两个数据集之后。我需要联合他们。对我来说最重要的是var cluster
和var visited
的值。然后在union
之后,它们被重置为默认值。
labeledInner.foreach(println(_)) // This is fine
println("==========")
labeledOuter.foreach(println(_)) // This is also fine
println("==========")
labeledOuter.union(labeledInner).foreach(println(_)) // Here
// everything set to default
我正在运行Spark 2.1和Scala 2.11.8。
谢谢,这证实了我的怀疑。有没有办法使用其他编码器(如kryo)来保存可变变量状态? –