首页 > 解决方案 > 在pyspark(2.2.0)中将CSV文件写入AWS时如何分配访问控制列表(ACL)?

问题描述

我知道我可以通过以下方式将我的 spark 数据帧作为 CSV 文件输出到 AWS S3

df.repartition(1).write.csv('s3://my-bucket-name/df_name')

'bucket-owner-full-control'我的问题是,在使用 pyspark 将其写入 S3 时,是否有一种简单的方法可以设置该文件的访问控制列表 (ACL) ?

标签: amazon-web-servicescsvamazon-s3pysparkacl

解决方案


遇到完全相同的问题。Spark 作业将文件写入将服务器端加密设置为Access Denied的存储桶。看了一些博客,了解到这个可以通过设置fs.s3a.acl.default参数来解决BucketOwnerFullControl。这是代码:

val spark =SparkSession.builder.appName().getOrCreate()

spark.sparkContext.hadoopConfiguration.set("fs.s3a.acl.default", "BucketOwnerFullControl")

推荐阅读