在Spark流微批处理结束时,是否不再保留内存保留的RDD?

时间:2019-07-05 08:11:41

标签: apache-spark spark-streaming rdd

我使用Spark 2.0.2(在DSE / DataStaX Enterprise Edition 5.1中)运行某些流应用程序。

我的Spark流媒体应用程序确实对每个微批处理都调用了RDD.persist(),并且从未调用RDD.unpersist()(到目前为止,我们依靠缓存空间的LRU功能来实现持久化)

我想我会在Spark UI的“存储”标签中看到持久性RDD列表的增长。

但是,我在Spark UI的“存储”标签中仅看到非常有限的持久RDD列表。假设10个最大的持久RDD和每个1.5 MB => 15 MB的持久RDD占用的空间,由于每个执行者有1.5 GB的堆,因此空间是相当有限的。

所以我想知道:在Spark流微批处理的末尾,是否存在持久存储RDD?

谢谢。

1 个答案:

答案 0 :(得分:0)

Spark不会在批处理结束时取消对rdds的持久化。 GC将根据LRU清理RAM。