Я пытаюсь написать фрейм данных, используя Pyspark и EMR со следующей конфигурацией искры
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
Где это должно быть AES256
И это правда, что моим коллегам отказывают в доступе, когда они пытаются получить доступ к этим объектам.
Интересно, для EMR необходимо настроить конфигурацию spark перед созданием кластера через AWS, и вы не можете изменить эти конфигурации в сеансе приложения spark?