问题描述
我正在尝试使用 spark.read.csv 从 S3 读取文件。但是,对于使用 KMS 加密的文件,我无法读取该文件。我有可用的 KMS 密钥。如何在配置时在 spark 会话中指定它们。
解决方法
对于 SSE-KMS,它是自动的:当文件被加密时,密钥 ID 与对象一起存储,为了解密文件,S3 端它直接与 KMS 对话以解密(如果您可以读取密钥)>
对于客户端,AWS EMR 确实支持这一点。开源 S3A 连接器没有,因为多年来 S3 客户端加密总是填充数据,所以事情会崩溃。现在已经改变了,但没有人(2021 年 1 月)提供补丁