在远程 SFTP 服务器上,我有csv
文件,其中包含一些数据。是否可以将DataFrame的数据添加到此现有文件中?换句话说,csv文件中的先前数据不应被覆盖。
我使用spark-sftp库执行此任务,并注意下面的代码重新创建了该文件。换句话说,csv文件中的先前数据消失了。您有什么建议可以改善这种情况?
val df: DataFrame = Seq(
("Alex", "2018-01-01 00:00:00", "2018-02-01 00:00:00", "OUT"),
("Bob", "2018-02-01 00:00:00", "2018-02-05 00:00:00", "IN"),
("Kate", "2018-02-01 00:00:00", "2018-02-05 00:00:00", "IN"),
("Alice", "2018-02-01 00:00:00", "2018-02-05 00:00:00", "OUT"),
).toDF("FIRST_NAME", "START_DATE", "END_DATE", "STATUS")
df.write.
format("com.springml.spark.sftp").
option("host", "XXXX").
option("username", "XXXX").
option("password", "****").
option("fileType", "csv").
option("delimiter", ";").
save("/PATH/test.csv")
答案 0 :(得分:1)
只需添加附加模式选项:
import keras
完整示例:
mode(SaveMode.Append).
答案 1 :(得分:0)
您需要以附加模式编写。
import org.apache.spark.sql.SaveMode
df.write.
format("com.springml.spark.sftp").
option("host", "XXXX").
option("username", "XXXX").
option("password", "****").
option("fileType", "csv").
option("delimiter", ";").
mode(SaveMode.Append).
save("/PATH/test.csv")