首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pyspark-将每个数据帧保存到单个文件

Pyspark-将每个数据帧保存到单个文件
EN

Stack Overflow用户
提问于 2020-06-02 12:47:54
回答 1查看 192关注 0票数 0

我正在尝试将过滤后的数据帧保存回相同的源文件。

我编写了以下代码,将目录中每个文件的内容转换为单独的Dataframe,对其进行过滤,然后将其保存回相同的文件

代码语言:javascript
复制
rdd = sparkSession.sparkContext.wholeTextFiles("/content/sample_data/test_data")
# collect the RDD to a list
list_elements = rdd.collect()
for element in list_elements:
  path, data = element
  df = spark.read.json(spark.sparkContext.parallelize([data]))
  df = df.filter('d != 721')
  df.write.save(path, format="json", mode="overwrite")

我原以为它会用更新后的数据覆盖文件,但它创建了一个带有文件名的文件夹,并创建了以下结构和零件文件:

如何将每个更新的数据帧保存回相同的源文件(.txt)?提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-06-02 13:32:58

要将其保存到1个文件中,请在.save()之前使用.coalesce(1).repartition(1)选项,这将导致相同的类似文件夹的结构,但其中将有1个json文件。

要在保存后使用“普通”名称保存它,您需要在其中剪切1个json文件,粘贴并重命名为所需的名称。您可以查看csv文件here的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62145026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档