什么是RDD持久化?
spark最重要的一个功能,就是把一个数据集缓存在内存,磁盘或者分布式文件系统中。如果持久化了这一个数据集,那么对此数据集进行操作的其他操作可以直接复用该数据集,不用重新计算,这会使该操作执行的迅速。
为啥要进行RDD持久化?
因为要不进行持久化的话,如果多次对一个rdd执行算子的话,spark默认会重算。比如rdd3和rdd4同时基于rdd2做运算,如果不做持久化的话,rdd2会计算两次。
如何做RDD持久化?
1.尽量复用rdd
2.然后对该rdd做持久化
3.如果该rdd数据量多大,可以考虑对该rdd序列化,但是在获取数据的时候,不要忘了反序列化
4.如果想要高可靠性,可以使用MEMORY_ONLY_2,复制一份副本,并将副本保存到其他节点上