是数据集#persist()终端操作



当调用org.apache.spark.sql.Dataset#persist()时,Spark实际上是否会缓存Dataset?否则将在Dataset上调用某些终端操作(例如count)时懒惰地缓存。

,因为SPARK Dataset.persist中的所有缓存操作都是懒惰的,只有评估的标记是缓存的标记。

与RDD相比的主要区别在于,评估很难推理。请参阅开发人员列表上的相关讨论:will .count()总是触发对每一行的评估?