使用 pyspark 将 KMS 加密的 spark 数据帧读写到 S3 存储桶时出现问题 [英] Issues while reading and writing a KMS encrypted spark data-frame to a S3 bucket with pyspark

查看:72
本文介绍了使用 pyspark 将 KMS 加密的 spark 数据帧读写到 S3 存储桶时出现问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 Pyspark 将 Spark 数据帧写入 AWS S3 存储桶,并收到不支持指定加密方法的异常.该存储桶具有服务器端加密设置.

I am trying to write a Spark data-frame to AWS S3 bucket using Pyspark and getting an exceptions that the encryption method specified is not supported. The bucket has server-side encryption setup.

我从 spark-default.conf 运行以下包:spark.jars.packages com.amazonaws:aws-java-sdk:1.9.5, org.apache.hadoop:hadoop-aws:3.2.0

I'm having the following packages run from spark-default.conf: spark.jars.packages com.amazonaws:aws-java-sdk:1.9.5, org.apache.hadoop:hadoop-aws:3.2.0

查看此现有线程:没有火花/Hadoop 在 AWS S3 上支持 SSE-KMS 加密 并且提到上面的版本应该支持 SSE-KMS 加密.

Reviewed this existing thread: Doesn't Spark/Hadoop support SSE-KMS encryption on AWS S3 and it mentions that the above version should support SSE-KMS encryption.

我还包含了 core-site.xml 以拥有该属性'fs.s3a.server-side-encryption-algorithm' 设置为 'SSE-KMS'

I also included the core-site.xml to have the property 'fs.s3a.server-side-encryption-algorithm' set to 'SSE-KMS'

但是,我仍然收到错误消息.请注意,对于没有 SSE-KMS 的存储桶,这可以正常工作.

But, I still get the error. Please note that for buckets without the SSE-KMS, this works fine.

错误消息:AmazonS3Exception:状态代码:400,AWS 服务:Amazon S3,AWS 错误代码:InvalidArgument,AWS 错误消息:不支持指定的加密方法

推荐答案

感谢 Steve 的所有意见.将以下内容添加到 spark-defaults.conf 解决了我们的问题:

Thanks for all your inputs Steve. Adding the following to the spark-defaults.conf fixed our issue:

spark.hadoop.fs.s3a.server-side-encryption-algorithm AES256

spark.hadoop.fs.s3a.server-side-encryption-algorithm AES256

这篇关于使用 pyspark 将 KMS 加密的 spark 数据帧读写到 S3 存储桶时出现问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆