spark - RDD持久化

1.RDD的cache和persist

  • cache:存储级别是MEMORY_ONLY的, 是个transformation,是lazy的,只有触发了action,才会真正执行(spark sql中的cache是立刻执行的)
  • persist:可以指定存储级别
  • spark使用lru算法移除过期的cache数据,用户也可以手动取消序列化:unpersist(立即执行,不是lazy的)

2.存储级别StorageLevel

(1)存储级别有哪些?


 

(2) 如何选择存储级别

存储方式 描述 资源占用 适用场景
MEMORY_ONLY 内存,反序列化 内存占用大 内存资源充足(默认推荐)
MEMORY_ONLY_SER 内存,序列化 节省内存,单耗费cpu 内存资源不充足
磁盘 溢写到磁盘 占磁盘,速度慢 内存放不下(不推荐)

官网的描述:



 

猜你喜欢

转载自coderlxl201209164551.iteye.com/blog/2414104