我正在用以下代码将数据帧保存到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/