【问题标题】:Find out target csv file name for a Spark DataFrame.write.csv() call找出 Spark DataFrame.write.csv() 调用的目标 csv 文件名
【发布时间】:2021-09-29 07:30:37
【问题描述】:

在我执行此操作时的 pyspark 会话中:

df = spark.read.parquet(file)
df.write.csv('output')

它会创建一个名为 output 的目录,其中包含一堆文件,其中一个是一个名称不可预测的目标 csv 文件,例如:part-00006-80ba8022-33cb-4478-aab3-29f08efc160a-c000.csv 有没有办法知道.csv() 调用后的输出文件名是什么?

【问题讨论】:

    标签: apache-spark hadoop pyspark


    【解决方案1】:

    当您在数据框中读取 parquet 文件时,它会有一些分区,因为我们在这里使用分布式存储。同样,当您将该数据帧保存为 csv 文件时,它会根据数据帧的分区数以分布式方式保存。

    您在编写 csv 文件时提供的路径将创建一个具有该名称的文件夹,然后您将在该文件夹中拥有多个分区文件。每个文件都有一部分数据,当您组合所有分区文件时,您将获得 csv 文件的全部内容。

    此外,如果您阅读该文件夹路径,那么您将能够看到 csv 文件的全部内容。这是 spark 和分布式计算工作方式的默认行为。

    【讨论】:

      猜你喜欢
      • 2023-04-01
      • 2018-07-17
      • 2016-10-29
      • 2017-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多