gpt4 book ai didi

amazon-s3 - Spark的S3角色授权?

转载 作者:行者123 更新时间:2023-12-02 01:15:40 29 4
gpt4 key购买 nike

在 AWS 内的 Cloudera 上使用 pyspark2(版本 2.0.0.cloudera1)

我正在尝试将数据帧从 Spark 写入 S3 存储,但由于身份验证而失败:

pyspark.sql.utils.IllegalArgumentException: u'AWS Access Key ID and Secret Access Key must be specified by setting the fs.s3n.awsAccessKeyId and fs.s3n.awsSecretAccessKey properties (respectively).'



我的 pyspark 代码是:
utp.coalesce(1).write.format('com.databricks.spark.csv').save('s3n://my_bucket/tmr_xfers/test_output')

我们使用角色来访问 S3,即“aws_iam_role=arn:aws:iam::123456789012:role/RoleName”——而不是单独的 AccessKeyID

我需要在 Spark 代码中进行哪些更改,以便使用角色而不是单独的 AccessKeyId 和 SecretAccessKey 将我的 csv 写入 S3?

最佳答案

我遇到了同样的问题,并通过使用 s3a:// 解决了它相反,无论如何,这显然更加现代和高效。

问题在于负责访问 S3 文件系统的 Hadoop 驱动程序代码(我认为是 hadoop-aws.jar )。显然 s3n 'native' 协议(protocol)使用一些难以使用的旧 jets3t 驱动程序,每个人都不敢乱用。新s3a协议(protocol)实现直接使用AWS SDK,并支持实例配置文件等。

看看这些HADOOP-9680HADOOP-9384看看他们为什么 WONTFIXed 这个问题。

关于amazon-s3 - Spark的S3角色授权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42788777/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com