amazon-web-services - 当我们保存文件时,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 的对象。它会自己创建对象并保存文件吗?或者代码会失败?
解决方案
我想你在问是否save('s3a://myBucket/fol1/subfolder')
会在 S3 中创建fol1/subfolder
结构,如果没有,你是否需要。
底线是您无需担心创建中间文件夹结构,因为 Hadoop FS API 会根据需要为您创建它。
@SteveLoughran 的答案提供了更多细节,值得被接受。
推荐阅读
- javascript - 使用javascript根据当前菜单项动态更新标题属性
- java - 创建 bean 取决于 spring 配置文件
- rx-java - RxJava3 - 如何在使用共享运算符时使用 doFinally 和线程安全操作来避免死锁?
- css - 为什么没有中风
工作 ?- SVG - flutter - 在通道 app_settings 上找不到方法 app_settings 的实现
- ios - Swift - 全局变量的更好替代方案是什么?
- python - cx_Oracle 与 kerberized db 的连接崩溃
- javascript - 为什么 VueJS 组件在导入/组件调用后不渲染标签?
- linux - 为什么 Linux 需要几天时间才能编译?
- c# - 带有转换器的复选框图像