开发者社区 问答 正文

driver program 设定 rdd.cache() 后,系统怎么对 RDD 进行cache?

driver program 设定 rdd.cache() 后,系统怎么对 RDD 进行cache?

展开
收起
芯在这 2021-12-07 22:30:18 336 分享 版权
1 条回答
写回答
取消 提交回答
  • 将要计算 RDD partition 的时候(而不是已经计算得到第一个 record 的时候)就去判断 partition 要不要被 cache。如果要被 cache 的话,先将 partition 计算出来,然后 cache 到内存。cache 只使用 memory,写磁盘的话那就叫 checkpoint 了。

    调用 rdd.cache() 后, rdd 就变成 persistRDD 了,其 StorageLevel 为 MEMORY_ONLY。persistRDD 会告知 driver 说自己是需要被 persist 的。

    2021-12-07 22:30:32
    赞同 展开评论
问答分类:
问答地址: