我使用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?
谢谢。
答案 0 :(得分:0)
Spark不会在批处理结束时取消对rdds的持久化。 GC将根据LRU清理RAM。