Sparkr将DF写入csv/txt文件

Sparkr将DF写入csv/txt文件,r,apache-spark,sparkr,R,Apache Spark,Sparkr,嗨,我正在用纱线模式制作sparkR 我需要将sparkr df写入csv/txt文件 我看到有write.df但是它写拼花文件 我试着做这件事 RdataFrame<-collect(SparkRDF) write.table(RdataFrame, ..) RdataFrameSpark 2.0+ 您可以使用write.text功能: 将SparkDataFrame的内容保存在 指定的路径。SparkDataFrame只能有一列 名称为“value”的字符串类型。每一行在中成为一个新

嗨,我正在用纱线模式制作sparkR

我需要将sparkr df写入csv/txt文件

我看到有
write.df
但是它写拼花文件

我试着做这件事

RdataFrame<-collect(SparkRDF)
write.table(RdataFrame, ..)

RdataFrameSpark 2.0+

您可以使用
write.text
功能:

将SparkDataFrame的内容保存在 指定的路径。SparkDataFrame只能有一列 名称为“value”的字符串类型。每一行在中成为一个新行 输出文件

write.df
内置SparkR
csv
writer:

write.df(df, path, source="csv")
Spark 1.x

您可以使用以下软件包:

例如,可以使用
packages
参数将其添加到
SparkR
/
spark submit

sparkR --packages com.databricks:spark-csv_2.10:1.3.0 # For Scala 2.10
sparkR --packages com.databricks:spark-csv_2.11:1.3.0 # For Scala 2.11

有关其他选项,请参见

Hey zero,有一种方法可以将其作为一个文件而不是第xxx部分写入?我试着做
repartition(A,1)
然后
write.df
,但它不起作用。
repartition(…,1)
应该起作用,但实际上不使用它。如果输出足够小,只需在本地进行收集和写入。如果不是的话,您将在一台机器上至少传递两次所有内容。输出就像2~3GB*30文件,它们将成为xxx部分中的太多文件。我将尝试在R中使用collect和write.table,希望不会花费太多时间。谢谢。使用write.df编写时,我们会丢失列名,这正常吗?
write.df(SparkRDF, "foo.csv", "com.databricks.spark.csv", ...)
sparkR --packages com.databricks:spark-csv_2.10:1.3.0 # For Scala 2.10
sparkR --packages com.databricks:spark-csv_2.11:1.3.0 # For Scala 2.11