是否不能在 S3 存储桶中保存文件而不是选择文件夹?

Is it not possible to save a file in S3 bucket instead of choose a folder?

我正在尝试通过 AWS Glue 作业将数据文件保存到 S3。

我正在尝试将 spark 数据框用作


df.coalesce(4).write.mode("overwrite").format("parquet").save("s3://my_own_bucket/")

我测试的时候,代码return出错

pyspark.sql.utils.IllegalArgumentException: 'Can not create a Path from an empty string'

如果我尝试将文件放入

这样的文件夹中

df.coalesce(4).write.mode("overwrite").format("parquet").save("s3://my_own_bucket/folder1")

文件放在文件夹“folder1

有人知道为什么我不能在存储桶级别放置文件夹的原因吗?

PS: 我也尝试使用动态框架和作品。我想知道为什么使用“普通”火花不起作用。

final_sink = glueContext.write_dynamic_frame.from_options(frame = frame1, connection_type = "s3", connection_options = {"path": "s3://my_own_bucket"}, format = "parquet")

您好,请从路径中删除“/”

df.coalesce(4).write.mode("overwrite").format("parquet").save("s3://my_own_bucket")

答案是否定的。您不能将 DF 写入任何文件系统的根目录,只是没有人尝试使用 file:// 或 hdfs:// 作为目的地。 root 目录是“特殊的”——你不能删除它们,相对于 root 的路径是“”,等等。没有人坐下来添加这个功能

SPARK-34298