在 write_df 中命名 csv 文件

Naming the csv file in write_df

我正在使用 write_df 在 sparkR 中写入文件,我无法为此指定文件名:

代码:

write.df(user_log0, path = "Output/output.csv",
         source = "com.databricks.spark.csv", 
         mode = "overwrite",
         header = "true")

问题:

我希望在 'Output' 文件夹中有一个名为 'output.csv' 的文件,但发生的是一个名为 'output.csv' 的文件夹,里面名为 'part-00000-6859b39b -544b-4a72-807b-1b8b55ac3f09.csv'

我做错了什么?

P.S:OSX

上的 R 3.3.2、Spark 2.1.0

由于 spark 的分布式特性,您只能定义保存文件的目录,每个执行程序使用 spark 的内部命名约定编写自己的文件。

如果你只看到一个文件,这意味着你在一个分区中工作,这意味着只有一个执行者在写入。这不是正常的 spark 行为,但是,如果这适合您的用例,您可以将结果收集到 R 数据帧并从中写入 csv。

在数据在多个执行器之间并行化的更一般情况下,您无法为文件设置特定名称。