【发布时间】:2018-02-02 19:15:09
【问题描述】:
我想将数据框保存到 s3,但是当我将文件保存到 s3 时,它会创建带有 ${folder_name} 的空文件,我想在其中保存文件。
保存数据帧的语法:-
f.write.parquet("s3n://bucket-name/shri/test")
它将文件保存在测试文件夹中,但它会在shri 下创建$test。
有没有一种方法可以在不创建额外文件夹的情况下保存它?
【问题讨论】:
-
为了写一个文件,你需要使用一个executor和一个reducer,这违背了Spark分布式特性的目的
-
@cricket_007 评论有点正确。为了写入一个文件,您需要一个分区。您可以使用 spark 的分布式特性,然后在导出到 csv 之前,使用 df.coalesce(1) 返回到一个分区。就你的观点而言,如果你使用一个分区写出,那么将使用一个执行器来写,如果数据量很大,这可能会影响性能。
标签: python amazon-web-services amazon-s3 pyspark