我试图使用df.write.csv
将拼花文件写入CSV,但输出的CSV文件有一个大名称(部分-0000-),我该如何重命名?
我搜索了一下,发现可以使用下面的代码在scala中完成。
import org.apache.hadoop.fs._
fs = FileSystem.get(spark.hadoopConfiguration)
fs = FileSystem.get(sc.hadoopConfiguration)
fs.rename(new Path("csvDirectory/data.csv/part-0000"), new Path("csvDirectory/newData.csv"))
如何在pyspark中完成?
不能直接用Spark完成。Scala中的解决方案可以适用于Python:
fs = spark._jvm.org.apache.hadoop.fs.FileSystem.get(spark._jsc.hadoopConfiguration())
def rename(old_file_name, new_file_name):
fs.rename(
spark._jvm.org.apache.hadoop.fs.Path(old_file_name),
spark._jvm.org.apache.hadoop.fs.Path(new_file_name),
)