1. RDD缓存机制是什么?
把RDD的数据缓存起来,其他job可以从缓存中获取RDD数据而无需重复加工。
2. 如何对RDD进行缓存?
有两种方式,分别调用RDD的两个方法:persist 或 cache。
注意:调用这两个方法后并不会立刻缓存,而是有action算子触发时才会缓存。
3. persist 和 cache有什么区别?
二者的区别在于缓存级别上:
persist有多种缓存方式,如缓存到内存,缓存到磁盘等。
cache只缓存到内存,且实际是调用了persist方法。
两种方法的源码及缓存RDD的缓存级别如下:
4. 何时需要缓存RDD?
有两种情况:
- RDD被后续多个job用到;
- RDD的计算过程复杂。
5. 如何清除RDD缓存?
有两种方式:
- 应用程序结束后,缓存自动清除;
- 调用unpersist方法,源码如下:
–The End–