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