Solución:
Tratar
df.coalesce(1).write.format('com.databricks.spark.csv').save('path+my.csv',header="true")
Tenga en cuenta que esto puede no ser un problema en su configuración actual, pero en conjuntos de datos extremadamente grandes, puede tener problemas de memoria en el controlador. Esto también llevará más tiempo (en un escenario de clúster) ya que todo tiene que retroceder a una única ubicación.
Por si acaso, en Spark 2.1 puede crear un solo archivo csv con las siguientes líneas
dataframe.coalesce(1) //So just a single part- file will be created
.write.mode(SaveMode.Overwrite)
.option("mapreduce.fileoutputcommitter.marksuccessfuljobs","false") //Avoid creating of crc files
.option("header","true") //Write the header
.csv("csvFullPath")
con chispa> = 2.o, podemos hacer algo como
df = spark.read.csv('path+filename.csv', sep = 'ifany',header="true")
df.write.csv('path_filename of csv',header=True) ###yes still in partitions
df.toPandas().to_csv('path_filename of csv',index=False) ###single csv(Pandas Style)
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)