Saltar al contenido

escribir un csv con nombres de columna y leer un archivo csv que se genera a partir de un marco de datos sparksql en Pyspark

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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *