Я хочу добавить таблицу metrics в существующий файл CSV. Я использую приведенный ниже код:
metrics.coalesce(1)
.write
.option("header", "true")
.option("sep",",")
.mode("Append")
.csv("data/outputs.csv}")
Каждый раз, когда выполняется приведенный ниже блок кода, в data / outputs.csv создается новый файл .part-00000-{xxxxxx-xxxxx......}.csv (где outputs.csv - это папка, а не файл CSV).
Есть ли способ всегда добавлять таблицу в один и тот же файл CSV, не создавая новый файл .csv? и какой способ определить окончательное имя этого CSV вместо использования формата .part-00000-{xxxxxx-xxxxx......}.csv?
Я пробовал с опцией добавления режима сохранения (.mode(SaveMode.Append)) с тем же результатом дублирования.





Вы должны явно объединить их, а затем использовать Overwrite, а не добавлять.
Что-то вроде этого:
spark
.read
.option(...)
.csv("data/outputs.csv")
.union(metrics)
.coalesce(1)
.write
.option(...)
.mode("Overwrite")
.csv("data/outputs.csv")