当Dataset
被调用时,spark是否会实际缓存org.apache.spark.sql.Dataset#persist()
?或者,当在count
上调用某些终端操作(如Dataset
)时,它会被懒惰地缓存。
答案 0 :(得分:2)
因为Spark Dataset.persist
中的所有缓存操作都是惰性的,并且只标记给定的缓存对象,如果它被评估过。
与RDD相比的主要区别在于评估难以推理。请参阅开发人员列表中的相关讨论:Will .count() always trigger an evaluation of each row?