scala 在数据库上执行两次插入

w6lpcovy  于 2022-11-09  发布在  Scala
关注(0)|答案(1)|浏览(194)

我在数据集中只有一条记录,但是从保存到数据库的方法中,它被执行了两次。这是什么原因造成的呢?我该怎么解决它呢?我将文件保存在BLOB存储中。

def saveFile[T](dataset: Dataset[T]): Unit = {
   dataset
   .write
   .mode("overwrite")
   .json("...json")
}

val res = df.map(x => {
       ...
       val operation = saveToTable()
       ...
    })

saveFile(res)
ef1yzkbh

ef1yzkbh1#

我认为您的方法被执行了两次,因为dataset.write.mode("overwrite").json("...json")会将数据集保存到指定位置,如果您再次运行saveFile方法,它会将数据集再次保存到指定位置。尝试使用dataset.write.mode("append").json("...json"),如果数据集不存在,它会将数据集保存到指定位置,否则会将数据集追加到指定位置。

相关问题