gpt4 book ai didi

scala - 使用spark-csv写入单个CSV文件

转载 作者:行者123 更新时间:2023-12-02 20:56:28 25 4
gpt4 key购买 nike

我正在使用https://github.com/databricks/spark-csv ,我试图编写一个 CSV,但无法,它正在创建一个文件夹。

需要一个 Scala 函数,它将接受路径和文件名等参数并写入 CSV 文件。

最佳答案

它正在创建一个包含多个文件的文件夹,因为每个分区都是单独保存的。如果您需要单个输出文件(仍在文件夹中),您可以重新分区(如果上游数据很大,但需要随机播放,则首选):

df
.repartition(1)
.write.format("com.databricks.spark.csv")
.option("header", "true")
.save("mydata.csv")

合并:

df
.coalesce(1)
.write.format("com.databricks.spark.csv")
.option("header", "true")
.save("mydata.csv")

保存前的数据框:

所有数据都将写入 mydata.csv/part-00000。在使用此选项之前,请确保您了解正在发生的情况以及将所有数据传输到单个工作人员的成本。如果您使用具有复制功能的分布式文件系统,数据将被多次传输 - 首先获取到单个工作线程,然后分布到存储节点上。

或者,您可以保留代码不变,并使用通用工具,例如 catHDFS getmerge之后简单地合并所有部分。

关于scala - 使用spark-csv写入单个CSV文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31674530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com