有没有办法使用.net spark更改导出文件名?

xesrikrc  于 2021-05-31  发布在  Hadoop
关注(0)|答案(1)|浏览(426)

我正在尝试使用.net spark将Dataframe导出到csv文件,但我的导出文件的默认名称为“part-00000-{guid}”,我想要的是根据我的业务规则操作文件名,例如:“\u 20200504.csv”。
这是我的密码:

string pathSource = Path.Combine(path, folderName);

exportDataFrame
                .Coalesce(1)
                .Write()
                .Option("header", "false")
                .Mode(SaveMode.Append)
                .Csv(pathSource);

我试图操纵pathsource,强制导出到“test.csv”中,但是使用这种方法,我总是得到一个具有该名称的目录,并且文件将位于文件夹“test.csv”中。
我真的需要一些解决办法,如果有人能帮上忙,我会非常感激的。

pkln4tw6

pkln4tw61#

请尝试以下代码:

exportDataFrame
    .Repartition(1)
    .Write()
    .Mode("overwrite")
    .Format("com.databricks.spark.csv")
    .Option("header", "true")
    .Save("ABC_20200504.csv");

它必须创建一个文件输出为\u 20200504.csv\part-00000
然后您可以按照以下示例中的方式重命名文件part-0000:

System.IO.File.Move("D:\\part-00000.txt", "D:\\ABC_20200504.txt");

最初的解决方案是用 Scala ,摘自下面的链接并编辑为 C# : https://www.dataneb.com/post/how-to-write-single-csv-file-using-spark 该链接介绍了5种方法如何写入单个 CSV -文件。

相关问题