我正在尝试通过 AWS Glue 作业将资料档案保存到 S3 中。
我正在尝试使用火花资料框
df.coalesce(4).write.mode("overwrite").format("parquet").save("s3://my_own_bucket/")
当我测验它时,代码回传一个错误
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")
uj5u.com热心网友回复:
答案是不”。您不能将 DF 写入任何档案系统的根目录,只是没有人尝试使用 file:// 或 hdfs:// 作为目标。根目录是“特殊的”——你不能洗掉它们,相对于根目录的路径是“”,等等。没有人坐下来添加这个功能
见SPARK-34298
uj5u.com热心网友回复:
嗨,请从路径中洗掉“/”
df.coalesce(4).write.mode("overwrite").format("parquet").save("s3://my_own_bucket")
0 评论