【发布时间】:2016-09-25 13:37:03
【问题描述】:
我正在编写一个 pyspark 作业,需要读取 两个 不同的 s3 存储桶。每个存储桶都有不同的凭据,它们作为单独的配置文件存储在我的机器上 ~/.aws/credentials。
有没有办法告诉 pyspark 在连接到 s3 时使用哪个配置文件?
使用单个存储桶时,我在conf/spark-env.sh 中设置了AWS_ACCESS_KEY_ID 和AWS_SECRET_ACCESS_KEY 环境变量。当然,这只适用于访问 2 个存储桶中的 1 个。
我知道我可以在需要时在 pyspark 中手动设置这些值,方法是:
sc._jsc.hadoopConfiguration().set("fs.s3n.awsAccessKeyId", "ABCD")
sc._jsc.hadoopConfiguration().set("fs.s3n.awsSecretAccessKey", "EFGH")
但更喜欢没有硬编码这些值的解决方案。这可能吗?
【问题讨论】:
标签: amazon-web-services amazon-s3 apache-spark pyspark