首页 > 解决方案 > 当我们保存文件时,s3 会自己创建对象吗?

问题描述

我创建了一个数据框并使用 df.select() 选择了一些列 col1col2 和 col3。 df1=df.select(col1,col2,col3)

我正在将其写入镶木地板文件并将其保存到 s3。

df1.write.partitionBy("col1").format("parquet").save('s3a://myBucket/fol1/subfolder')

目前在我的 s3 中没有像 's3a://myBucket/fol1/subfolder' 这样的位置。我唯一拥有的是's3a:myBucket'。我的问题是没有名为 fol1 和 subfolder 的对象。它会自己创建对象并保存文件吗?或者代码会失败?

标签: amazon-web-servicesamazon-s3

解决方案


我想你在问是否save('s3a://myBucket/fol1/subfolder')会在 S3 中创建fol1/subfolder结构,如果没有,你是否需要。

底线是您无需担心创建中间文件夹结构,因为 Hadoop FS API 会根据需要为您创建它。

@SteveLoughran 的答案提供了更多细节,值得被接受。


推荐阅读