【发布时间】:2020-07-11 00:37:01
【问题描述】:
我正在使用 S3a 协议写入属于其他人的存储桶。我只能使用一组有限的 S3 操作(我不知道具体是哪一个)。
尝试使用 AWS Glue 使用 spark 写入数据时,我收到错误 403: AccessDenied。
在 EMR 中使用 s3distcp 有效,但我必须更改基础架构的设置方式。使用允许所有 S3 操作的存储桶也可以,但我猜存储桶所有者不想更改权限。
有没有办法告诉 spark 在不需要太多权限的情况下写入数据?
编辑: Spark 需要 S3:DeleteObject 权限。有没有办法绕过这个?
代码如下:
sparkSession.sparkContext.hadoopConfiguration.set("fs.s3a.bucket.some-bucket.access.key", "accesskey")
sparkSession.sparkContext.hadoopConfiguration.set("fs.s3a.bucket.some-bucket.secret.key", "secretkey")
data.write.csv(s"s3a://some-bucket/test")
【问题讨论】:
标签: apache-spark amazon-s3 aws-glue