在 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。
在数据在多个执行器之间并行化的更一般情况下,您无法为文件设置特定名称。
我正在使用 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。
在数据在多个执行器之间并行化的更一般情况下,您无法为文件设置特定名称。