【发布时间】:2021-07-19 20:59:53
【问题描述】:
我希望我的 Spark 应用 (Scala) 能够读取 S3 文件
spark.read.parquet("s3://my-bucket-name/my-object-key")
在我的开发机器上,我可以使用 ~/.aws/config 或 ~/.aws/credentials 中的预配置配置文件 awscli 访问 S3 文件,例如:
aws --profile my-profile s3 ls s3://my-bucket-name/my-object-key
但是当尝试从 Spark 读取这些文件时,将 aws_profile 作为环境变量 (AWS_PROFILE) 提供,我收到以下错误:
doesBucketExist on my-bucket-name:com.amazonaws.AmazonClientException:BasicAWSCredentialsProvider EnvironmentVariableCredentialsProvider SharedInstanceProfileCredentialsProvider 没有提供 AWS 凭证:com.amazonaws.SdkClientException:无法从服务端点加载凭证
还尝试将配置文件作为 JVM 选项 (-Daws.profile=my-profile) 提供,但没有成功。
感谢阅读。
【问题讨论】:
标签: apache-spark hadoop amazon-s3 profile aws-credentials