我正在运行 spark 2.1,我想将包含结果的 csv 写入 Amazon S3。 重新分区后,csv 文件的名称有点神秘,我想将其更改为特定的文件名。
我正在使用数据 block 库写入 S3。
dataframe
.repartition(1)
.write
.format("com.databricks.spark.csv")
.option("header", "true")
.save("folder/dataframe/")
有没有办法事后重命名文件甚至直接用正确的名称保存?我已经在寻找解决方案,但没有找到太多。
谢谢
最佳答案
您可以使用下面的命令重命名输出文件。
dataframe.repartition(1).write.format("com.databricks.spark.csv").option("header", "true").save("folder/dataframe/")
import org.apache.hadoop.fs._
val fs = FileSystem.get(sc.hadoopConfiguration)
val filePath = "folder/dataframe/"
val fileName = fs.globStatus(new Path(filePath+"part*"))(0).getPath.getName
fs.rename(new Path(filePath+fileName), new Path(filePath+"file.csv"))
关于apache-spark - 重命名写入的 CSV 文件 Spark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44760244/