如何将从excel读取的Dataframe传递给sparkscala中的另一个变量?

oyt4ldly  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(324)

我有一个Dataframe var cache :DataFrame = _ . 作为我的第一次跑步, cache = existingDF ,使用crealytics.spark.excel从excel中读取现有的DF。但在随后的运行中,现有的df将得到另一个更新的excel文件,它应该是 cache = cache.union(existingDF) 但我似乎只在缓存中找到了现有的数据。简而言之,每当我调用cache时,它似乎都在读取excel。如何避免这种情况?将其作为csv读取时不存在此问题(我用的时候它就在那儿 .persist 在csv上读取,但在我删除时得到修复。更简单地保留:

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不同。如何避免这种情况?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题