如何在Pyspark中设置文件名



我正在用以下代码将数据帧保存到csv中:

df.write
.option("header",True) 
.mode("overwrite") 
.option("sep","|")
.format("csv") 
.save("filepath")

这将文件保存为xxx xx.csv部分

我想将文件保存为Tablename.csv。如何实现这一点?

由于分区的原因,在spark中写入文件时无法提供文件名,但可以使用Hadoop Filesystem API重命名分区。

import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.fs.{FileSystem, Path}
fs = FileSystem.get(spark.sparkContext.hadoopConfiguration)
partCSV=new Path("/your-path-here/part-xxx-xx.csv")
tablenameCSV= new Path("/your-path-here/Tablename.csv")
//Rename a File
fs.rename(partCSV,tablenameCSV)

请参阅:https://sparkbyexamples.com/spark/spark-rename-and-delete-file-directory-from-hdfs/

最新更新