Spark中的Iterator函数实现的流程是什么?
若标记了有缓存,则取缓存,取不到则进行computeOrReadCheckpoint(计算或读检查点)。完了再存入缓存,以备后续使用。
若未标记有缓存,则直接进行computeOrReadCheckpoint。
“computeOrReadCheckpoint”这个过程也做两个判断:有做过checkpoint,没有做过checkpoint。做过checkpoint则可以读取到检查点数据返回。无则调该RDD的实现类的compute函数计算。compute函数实现方式就是向上递归“获取父RDD分区数据进行计算”,直到遇到检查点RDD获取有缓存的RDD。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。