write tutorial true spark read csv apache-spark dataframe databricks

csv - true - spark sql tutorial



Cuadro de datos Spark guardar en un solo archivo en la ubicaciĆ³n de HDS (1)

No es posible usar la biblioteca de chispa estándar, pero puede usar la API de Hadoop para administrar el sistema de archivos: guarde la salida en el directorio temporal y luego mueva el archivo a la ruta solicitada. Por ejemplo (en pyspark):

df.coalesce(1) / .write.format("com.databricks.spark.csv") / .option("header", "true") / .save("mydata.csv-temp") from py4j.java_gateway import java_import java_import(spark._jvm, ''org.apache.hadoop.fs.Path'') fs = spark._jvm.org.apache.hadoop.fs.FileSystem.get(spark._jsc.hadoopConfiguration()) file = fs.globStatus(sc._jvm.Path(''mydata.csv-temp/part*''))[0].getPath().getName() fs.rename(sc._jvm.Path(''mydata.csv-temp/'' + file), sc._jvm.Path(''mydata.csv'')) fs.delete(sc._jvm.Path(''mydata.csv-temp''), True)

Esta pregunta ya tiene una respuesta aquí:

Tengo dataframe y quiero guardar en un solo archivo en la ubicación de hdfs.

Encontré la solución aquí. Escribo un solo archivo CSV usando spark-csv.

df.coalesce(1) .write.format("com.databricks.spark.csv") .option("header", "true") .save("mydata.csv")

Pero todos los datos se escribirán en mydata.csv / part-00000 y yo quería ser mi archivo mydata.csv.

¿es eso posible?

cualquier ayuda aprecie