amazon-web-services - 在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) ?
解决方案
遇到完全相同的问题。Spark 作业将文件写入将服务器端加密设置为Access Denied的存储桶。看了一些博客,了解到这个可以通过设置fs.s3a.acl.default
参数来解决BucketOwnerFullControl
。这是代码:
val spark =SparkSession.builder.appName().getOrCreate()
spark.sparkContext.hadoopConfiguration.set("fs.s3a.acl.default", "BucketOwnerFullControl")
推荐阅读
- php - 如何从不同的表中获取相关的记录项
- arrays - 从数组中获取某些元素
- c# - 尝试使用 selectedChanged 在 C# 的 WPF 中的文本框中显示组合框元素
- google-apps-script - 通过脚本打印到谷歌电子表格聊天/记录所有用户可见的值
- javascript - 为什么 JavaScript Promise.all 没有解决承诺
- javascript - 一旦我第一次单击,它应该以我每 10 秒在字段中更改的值运行并自动提交
- android - 'void android.widget.SearchView.setOnQueryTextListener(android.widget.SearchView$OnQueryTextListener)' 在空对象引用上
- r - 从数据集中删除定性特征
- excel - 将函数应用于匹配条件的数组
- java - 相似的并发任务,非常不同的运行时间(Java)