我有一个数据框var cache :DataFrame = _
。作为我给出的初始运行cache = existingDF
,现有的df是使用crealytics.spark.excel从excel中读取的。但在随后的运行中,existingDF 会得到另一个更新的 excel 文件,应该是cache = cache.union(existingDF)
但是我似乎只在缓存中得到了existingDF。简而言之,每当我调用缓存时,它似乎都会读取 excel。我该如何避免这种情况?将其读取为 csv 时不存在此问题。(当我.persist
在 csv 读取时使用它时它就在那里,但当我删除 .persist 时得到修复更简单:
var a = _
while(true){
val b = spark.read.format("com.crealytics.spark.excel")...
if (Option(a).isEmpty){
a = b
}
else if a!=b
a = b.union(a)
}
变量 a 总是与 b 一起更新,因此它永远不会与 b 不同。我该如何避免这种情况?