AWS EMR - 使用正确的加密密钥写入 S3

min*_*s34 2 encryption amazon-emr emr pyspark amazon-kms

我有一个 EMR 集群 (v5.12.1) 和我的 S3 存储桶设置,并使用相同的 AWS SSE-KMS 密钥进行静态加密。

从 S3 读取数据工作正常,但当我使用 Pyspark 脚本写入 S3 存储桶时 - parquet 文件使用默认的“aws/s3”密钥进行加密。

如何让 Spark 使用正确的 KMS 密钥?

集群有Hadoop 2.8.3和Spark 2.2.1

min*_*s34 5

解决方案是不要对输出文件使用 s3a:// 或 s3n:// 路径。

如果您仅使用 s3:// 前缀,这些文件将写入 S3 并使用正确的 SSE-KMS 密钥进行加密。