【问题标题】:How to write in CSV file without creating folder in pyspark?如何在 CSV 文件中写入而不在 pyspark 中创建文件夹?
【发布时间】:2021-12-22 13:40:33
【问题描述】:

在写入 CSV 文件时,会自动创建文件夹,然后创建具有神秘名称的 csv 文件,如何使用任何特定名称创建此 CSV,但无需在 pyspark 而不是在 pandas 中创建文件夹。

【问题讨论】:

  • 您当前使用什么命令来创建 CSV?这个另一个问题提供了几个不依赖于 Pandas 的答案,并让您指定输出文件的名称。 stackoverflow.com/questions/31385363/… 大多数人似乎都在使用.write.csv("my_csv.csv")

标签: python apache-spark pyspark apache-spark-sql


【解决方案1】:

这是 spark 设计用于并行写出多个文件的方式。对于大数据集,同时写出许多文件更快。但是你仍然可以使用coalesce(1,true).saveAsTextFile() 来实现。你可以参考here

【讨论】:

  • 不,实际上我希望它分成几部分,它不应该与文件夹结构一起保存,而且该部分***为 csv 文件设置了一些神秘的名称,而不是该名称任何特定名称应该保存
【解决方案2】:

这正是 Spark 使用并行机制的方式。 Spark 应用程序意味着有一个或多个工作人员来读取您的数据并写入一个位置。当您编写 CSV 文件时,拥有一个包含多个文件的目录是多个工作人员可以同时写入的方式。

如果您使用的是 HDFS,则可以考虑编写另一个 bash 脚本以按照您想要的方式移动或重组文件

如果您使用 Databricks,则可以使用 dbutils.ls 以相同方式与 DBFS 文件进行交互。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-12
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多