> 文章列表 > 【Spark】RDD缓存机制

【Spark】RDD缓存机制

【Spark】RDD缓存机制

1. RDD缓存机制是什么?

把RDD的数据缓存起来,其他job可以从缓存中获取RDD数据而无需重复加工。

2. 如何对RDD进行缓存?

有两种方式,分别调用RDD的两个方法persistcache
注意:调用这两个方法后并不会立刻缓存,而是有action算子触发时才会缓存。

3. persist 和 cache有什么区别?

二者的区别在于缓存级别上:
persist有多种缓存方式,如缓存到内存,缓存到磁盘等。
cache只缓存到内存,且实际是调用了persist方法。
两种方法的源码及缓存RDD的缓存级别如下:
【Spark】RDD缓存机制
【Spark】RDD缓存机制

4. 何时需要缓存RDD?

有两种情况:

  1. RDD被后续多个job用到;
  2. RDD的计算过程复杂。

5. 如何清除RDD缓存?

有两种方式:

  1. 应用程序结束后,缓存自动清除;
  2. 调用unpersist方法,源码如下:
    【Spark】RDD缓存机制

–The End–

新余信息网