spark复习笔记(6):RDD持久化

在spark中最重要的功能之一是跨操作在内存中持久化数据集。当你持久化一个RDD的时候,每个节点都存放了一个它在内存中计算的一个分区,并在该数据集的其他操作中进行重用,持久化一个RDD的时候,节点上的每个分区都会保存到内存中,这使得将来的action更加的快。

缓存技术是迭代算法和交互式查询的重要工具

可以使用persist()和cache()方法进行rdd的持久化,persist()是持久化到磁盘,而cache()是缓存到内存

action第一次计算的时候才会发生persist()

spark的 cache是容错的,如果rdd的任何一个分区丢失了,都可以通过rdd最初的变化来找回

persist可以使用不同的存储级别来进行持久化

MEMORY_ONLY    //只存放到内存

MEMORY_AND_DISK  //存放到硬盘和内存

DISK_ONLY      //只存放到磁盘

MEMORY_AND_DISK  //内存和磁盘

MEMORY_ONLY_SER  //内存存储(可以串行化)

MEMORY_ONLY_2    //带有副本

MEMORY_AND_DISK_2  //快速容错

原文地址:https://www.cnblogs.com/bigdata-stone/p/9902127.html