我有以下代码,其中:
我在开始流之前缓存Dataframe
30分钟后,我取消持久化并再次缓存Dataframe。
第1部分)
var df = Data.init()
df.cache()
var currTime = LocalDateTime.now()
var cacheClearTime = currTime.plusMinutes(30 minutes)
第2部分)
finalStream.foreachRDD(rdd => if (rdd.take(1).length > 0) {
val SR = rdd.map { sr => sr.toString }
//Cache
currTime = LocalDateTime.now()
val dateDiff = cacheClearTime.isBefore(currTime)
if (dateDiff) {
df.unpersist(true)
df = Data.init()
df.cache()
currTime = LocalDateTime.now()
cacheClearTime = currTime.plusMinutes(30 minutes)
}
缓存的初始大小为25 mb,20分钟后变为10倍(250 mb)。为什么会这样?
暂无答案!
目前还没有任何答案,快来回答吧!