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