一.cache 缓存的一些说明:

  1. 后进行cache前提:

    • .要求的计算速度快,
    • .集群的资源要足够大
    • .重要:cache的数据会多次的触发Action,这个时候需要缓存,没这个前提用一次没必要缓存
    • .先进行过滤,然后将缩小范围的数据在cache到内存,过滤拿掉一部分数据。
  2. cache 底层调的方法

spark cache

  • 底层调用的是persist(),这个方法很灵活,里面可以传参数]

  • unpersist(true) 释放内存 ,false 边释放边往里面写

spark cache

  • StorageLevel.MEMORY_ONLY 这个参数重要,可以缓存磁盘和内存,还可以组合

spark cache

  • 参数含义:
    第一个参数,放到磁盘
    第二个参数,放到内存
    第三个参数,磁盘中的数据,不是以java对象的方式保存
    第四个参数,内存中的数据,以java对象的方式保存
    val MEMORY_AND_DISK = new StorageLevel(true, true, false, true)
    带2是可以存副本,防止丢失
  1. 缓存部分数据
    如果你的内存小,但是数据还要多次触发提交action,需要缓存,这时候spark中的缓存方法可以缓存一部分,也可以提高效率
    毕竟内存有限。

相关文章: