使用 PySpark 仅保存所需的 CSV 文件

Posted

技术标签:

【中文标题】使用 PySpark 仅保存所需的 CSV 文件【英文标题】:Save only the required CSV file using PySpark 【发布时间】:2021-06-18 16:30:37 【问题描述】:

我是 PySpark 的新手,我正在尝试使用 Azure Databricks 读取并保存 CSV 文件。

保存文件后,我看到许多其他文件,例如“_Committed”、“_Started”、“_Success”,最后是名称完全不同的 CSV 文件。

我已经使用 DataFrame repartition(1)coalesce(1) 进行了检查,但这仅适用于 CSV 文件本身被 Spark 分区的情况。有什么可以使用 PySpark 完成的吗?

【问题讨论】:

这能回答你的问题吗? How do you write a CSV back to Azure Blob Storage using Databricks? 【参考方案1】:

您可以执行以下操作:

df.toPandas().to_csv(path/to/file.csv)

它将按照您的预期创建单个文件 csv。

【讨论】:

【参考方案2】:

这些是从 PySpark 保存时创建的默认日志文件。我们无法消除这一点。 使用 coalesce(1) 可以将文件保存在没有分区的单个文件中。

【讨论】:

以上是关于使用 PySpark 仅保存所需的 CSV 文件的主要内容,如果未能解决你的问题,请参考以下文章

Pyspark 数据帧过滤语法错误

PySpark 创建 CSV 不起作用,仅 _SUCCESS 文件

如何从 pyspark 数据框中更快地保存 csv 文件?

使用 PySpark 读取 CSV 时是不是可以仅覆盖一种列类型?

禁用后退按钮,刷新 Angular 11 中的 webApp。这是保存当前页面所需的 MCQ 类型问题,并且仅限于 moove prev

Pyspark 写入数据帧并将其保存到 csv 文件中会出现错误