【发布时间】:2020-09-03 00:19:53
【问题描述】:
我正在写入 databricks 中的 parquet 文件,但在此之前,我想删除它的旧版本。
这是我的写法:
report.coalesce(1).write.mode("append").partitionBy("Name").parquet(s"s3://${reportBucket}/reports/dashboard")
我不知道如何检查此文件是否存在,如果存在则删除。
类的一些伪代码,以及调用它的行。我正在尝试检查输出文件是否存在,如果存在,则将其删除。删除后,该类将运行两次,并将结果附加到 parquet 文件中。但是必须在run2之后才能删除,而不是run1。
class WriteReport(val run: String = "run1") {
val report = spark.read.parquet(s"blablah")
report.createOrReplaceTempView("report")
val dashboard = spark.sql ("""
SELECT name as Name from Table
""")
report.coalesce(1).write.mode("append").partitionBy("Name").parquet(s"s3://${reportBucket}/reports/dashboard")
}
val n_b = new Report ("run1")
val n_g = new Report ("run2")
【问题讨论】:
-
为什么不使用覆盖模式?
标签: scala apache-spark databricks