【发布时间】:2015-12-24 21:48:40
【问题描述】:
我理解在 Scala 中有两种类型的操作
- 转换
- 操作
像 map()、filter() 这样的转换是惰性求值的。因此,可以在 Action 执行时进行优化。例如,如果我执行 action first() 那么 Spark 将优化为只读第一行。
但是为什么persist() 操作被延迟评估。因为无论我采用哪种方式,无论是热切地还是懒惰地,它都会按照存储级别持久化整个 RDD。
您能否详细说明为什么persist() 是转换而不是操作。
【问题讨论】:
标签: scala apache-spark