开发者社区> 问答> 正文

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

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

展开
收起
芯在这 2021-12-07 22:30:18 289 0
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
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
ALLUXIO (FORMERLY TACHYON): UNIFY DATA AT MEMORY SPEED - EFFECTIVE USING SPARK WITH ALLUXIO 立即下载
Spark SQL: Another 16x faster aFer Tungsten SPARC processor has drama1c advantages over x86 on Apache Spark 立即下载
Custom applications with Spark’s RDD 立即下载