如何为 pyspark 中的 s3 指定服务器端加密?

2024-03-12

感谢 stackoverflow,我成功地将 hadoop-aws-2.7.3.jar 和 aws-java-sdk-1.7.4.jar 从 Maven 存储库复制到 $SPARK_HOME/jars/ 中,以获取 s3a:// 从 S3 存储桶中读取在我的 ec2 Linux 实例上使用 pyspark (spark 2.2.0)。

df=spark.read.option("header","true").csv("s3a://bucket/csv_file")

但我一直坚持将转换后的数据写回到启用服务器端加密的 s3 存储桶中。正如预期的那样,下面的操作会抛出“访问被拒绝”,因为我没有指定标志来在 pyspark 执行环境中启用服务器端加密

df.write.parquet("s3a://s3_bucket/output.parquet")

为了验证,我写入本地文件并使用 -sse 上传到 s3 存储桶,效果很好

aws s3 cp local_path s3://s3_bucket/ --sse

如何在 pyspark 中启用与上面类似的服务器端加密?

Note:我确实尝试将“fs.s3a.enableServerSideEncryption true”添加到spark-default.conf,并在启动时通过pyspark的--conf参数传递相同的内容,但没有任何乐趣。

Thanks


我在经历以下 Hadoop JIRA 之后理解的方式 - HADOOP-10675、HADOOP-10400、HADOOP-10568

由于 fs/s3 是 Hadoop 的一部分,如果您的资产中的所有 S3 存储桶都受 SSE 保护,则需要将以下内容添加到 Spark-default.conf 中

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

添加此后,我能够成功写入受 SSE(服务器端加密)保护的 S3 存储桶。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为 pyspark 中的 s3 指定服务器端加密? 的相关文章

  • GAE SDK 1.9.5 和 InvalidCertificateException

    尝试在 osX Maverics 10 9 5 上使用 Python2 7 8 从 GAE SDK 1 95 导入测试床 我收到 InvalidCertificateException 错误 from google appengine ex
  • logger.warning("MSVC is not support") 在 Windows 10 上安装 pystan 时出错

    我的目标是在我的 Windows 10 计算机上安装 fbprophet 我正在尝试使用 pip 安装 pystan 先知的主要依赖项 但大约一分钟后 我收到以下错误 Traceback most recent call last File
  • Spark 和 Ipython 中将非数字特征编码为数字的问题

    我正在做一些我必须做出预测的事情numeric数据 每月员工支出 使用non numeric特征 我在用Spark MLlibs Random Forests algorthim 我有我的features数据在一个dataframe看起来像
  • 用ast重写代码; Python

    我正在学习 AST 它看起来很强大 但我很困惑代码去了哪里以及为什么它消失了 说我想重写 example def fake x n y useless list n return x as example def fake x n retu
  • Pyspark显示最大值(S)和多重排序

    感谢这里的一些帮助 使用Pyspark 请不能使用SQL 所以我有一个存储为 RDD 对的元组列表 城市1 2020 03 27 X1 44 城市1 2020 03 28 X1 44 City3 2020 03 28 X3 15 City4
  • 将文件上传到S3的模拟测试用例

    我们如何模拟文件上传到 S3 我尝试过这样的事情 file mock mock MagicMock spec File name FileMock mock patch storages backends s3boto S3BotoStor
  • 如何从 SparkSQL DataFrame 中的 MapType 列获取键和值

    我的镶木地板文件中有数据 该文件有 2 个字段 object id String and alpha Map lt gt 它被读入 SparkSQL 中的数据帧 其架构如下所示 scala gt alphaDF printSchema ro
  • Python 的分布式锁管理器

    我有一堆具有多个实例的服务器 这些实例访问的资源对每秒的请求有硬性限制 我需要一种机制来锁定所有正在运行的服务器和实例对此资源的访问 我在github上找到了一个restful分布式锁管理器 https github com thefab
  • 使用 AWS Lambda 从 AWS S3 读取并提取巨大的 zip 文件

    我正在开发数据管理应用程序 客户可以上传zip file approx 250 MB 与多个text files approx 1500 MB on AWS S3 但由于记忆有限aws lamda 最大 1536MB 大小 我能够提取 50
  • Spark - 如何在本地运行独立集群

    是否有可能运行Spark独立集群仅在一台机器上进行本地操作 这与仅在本地开发作业基本上不同 即local 到目前为止 我正在运行 2 个不同的虚拟机来构建集群 如果我可以在同一台机器上运行一个独立的集群 该怎么办 例如三个不同的 JVM 正
  • python 2.7模块pandas未安装“无法导入名称哈希表”

    我尝试在论坛 谷歌上寻找这个问题的答案 但我找不到任何东西 我的问题是这样的 来自 python 控制台 gt gt gt import pandas cannot import name hashtable Traceback most
  • 使用解析将 ** 运算符更改为幂函数?

    我的要求是将 运算符更改为幂函数 例如 1 Input B 2 Output power B 2 2 B 2 T 2 X Output power B 2 我写了下面的正则表达式来解决这个问题 rx r a zA Z0 9 a zA Z0
  • Spark 结构化流中具有不同计数的聚合抛出错误

    我正在尝试在 Spark 结构化流中获取 Parentgroup childgroup 和 MountingType 组的唯一 id 代码 下面的代码抛出错误 withWatermark timestamp 1 minutes val ag
  • 为什么从浏览器上传到 S3 时出现 403 错误?

    因此 我尝试查看此处之前的答案 但似乎没有任何效果 我正在使用 Dropzone 它似乎发出 OPTIONS 请求来获取所有允许的 CORS 相关信息 但它似乎没有正确返回 因此 通过查看 Chrome 开发工具 我有以下请求标头 Host
  • 为什么 Spark 比 Hadoop MapReduce 更快

    有人可以使用字数统计示例解释一下为什么 Spark 比 MapReduce 更快吗 bafna的答案提供了故事的记忆方面 但我想补充另外两个重要事实 DAG和生态系统 Spark 使用 惰性求值 来形成连续计算阶段的有向无环图 DAG 通过
  • 在 Spark 2.1.0 中启用 _metadata 文件

    Spark 2 1 0 中保存空 Parquet 文件似乎已损坏 因为无法再次读入它们 由于模式推断错误 我发现从 Spark 2 0 开始 写入 parquet 文件时默认禁用写入 metadata 文件 但我找不到重新启用此功能的配置设
  • Spark Scala 将列从一个数据帧复制到另一个数据帧

    我有一个原始数据框的修改版本 我在其上进行了聚类 现在我想将预测列恢复为原始 DF 索引没问题 因此匹配 我该怎么做 使用这段代码我得到一个错误 println Predicted dfWithOutput show println Ori
  • fetchsize和batchsize对Spark的影响

    我想通过以下方式控制 RDB 的读写速度Spark直接 但标题已经透露的相关参数似乎不起作用 我可以得出这样的结论吗fetchsize and batchsize我的测试方法不起作用 或者它们确实会影响阅读和写作方面 因为测量结果基于规模是
  • 如何生成给定范围内的回文数列表?

    假设范围是 1 X 120 这是我尝试过的 gt gt gt def isPalindrome s check if a number is a Palindrome s str s return s s 1 gt gt gt def ge
  • Spark的distinct()函数是否仅对每个分区中的不同元组进行洗牌

    据我了解 distinct 哈希分区 RDD 来识别唯一键 但它是否针对仅移动每个分区的不同元组进行了优化 想象一个具有以下分区的 RDD 1 2 2 1 4 2 2 1 3 3 5 4 5 5 5 在此 RDD 上的不同键上 所有重复键

随机推荐