我有一个Spark作业,将其结果写入s3存储桶,问题是当输出存储桶名称看起来像这样s3a:// bucket_name /时,我得到一个错误

Caused by: com.amazonaws.services.s3.model.AmazonS3Exception: Status Code: 404, AWS Service: Amazon S3, AWS Request ID: xxx, AWS Error Code: NoSuchKey, AWS Error Message: null, S3 Extended Request ID: xxx

但是,当我在输出存储桶(s3a:// bucket_name / subfolder /)中添加一个子文件夹时,它可以工作!

我正在使用hadoop-aws 2.7.3从s3中读取。

问题是什么?

提前致谢。

最佳答案

不是 Spark 虫。 S3客户端如何与根目录一起工作的问题。他们是“特殊的”。 HADOOP-13402看起来很像。您在那里拥有的代码显然来自Amazon自己的对象存储客户端,但是显然其行为方式相同。

换句话说,您不会将工作提交到“file:///”或“hdfs:///”;一切都需要一个子目录。

抱歉。

关于hadoop - 无法将Spark作业输出直接写入s3存储桶,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45586722/

10-16 02:46