aws emr pyspark使用sse写入s3失败,s3中的对象显示访问被拒绝

efzxgjgh  于 2021-05-27  发布在  Hadoop
关注(0)|答案(0)|浏览(383)

我正在尝试使用pyspark和emr编写一个具有以下spark配置的Dataframe

conf = pyspark.SparkConf().setAll([("spark.hadoop.fs.s3.acl.default", "BucketOwnerFullControl"),
                                   ("spark.hadoop.fs.s3.enableServerSideEncryption", "true"),
                                   ("spark.hadoop.fs.s3.server-side-encryption-algorithm", "AES256")
                                  ])
spark = SparkSession.\
    builder.\
    config(conf=conf).\
    master("yarn").\
    appName(app_name).\
    enableHiveSupport().\
    getOrCreate()

我可以使用以下方法将对象写入s3:

df.write.mode("overwrite").parquet(s3path)

但是s3中的对象显示如下:

Storage class
Standard
Server-side encryption
Access denied

在需要的地方
我的同事在尝试访问这些对象时确实会被拒绝访问。
我想知道的是,对于emr,您必须在通过aws创建集群之前设置spark配置,并且您不能在spark应用程序会话中更改这些配置吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题