我正在阅读“学习火花”,并注意到这种代码:
val result = input.map(x => x * x)
result.persist(Storagelevel.DISK_ONLY)
println(result.count())
println(result.collect().mkString(","))
此代码是否真的保留result rdd
?我以为在Spark中一切都是不可变的,但在这种情况下,看起来我们正在对result rdd
进行突变。
这段代码应该不是这样写的吗? :
val result = input.map(x => x * x)
val persistedResult = result.persist(Storagelevel.DISK_ONLY)
println(persistedResult.count())
println(persistedResult.collect().mkString(","))
本书中还有更多这样的代码示例,这让我感到奇怪...