我正在尝试从另一个 AWS 账户中的 s3 存储桶读取文件。
脚步:
aws sts assume-role
使用命令生成访问 id、访问密钥和令牌设置以下变量:
export AWS_ACCESS_KEY_ID= export AWS_SECRET_ACCESS_KEY= export AWS_SESSION_TOKEN=
aws s3 ls s3://...
在spark-shell中读取文件
sc.hadoopConfiguration.set("fs.s3n.awsAccessKeyId", "XXX") sc.hadoopConfiguration.set("fs.s3n.awsSecretAccessKey", "XXX") sc.hadoopConfiguration.set("fs.s3a.session.token", "XXX") spark.read.parquet("file location")
直到第 3 步,它的工作正常。
我无法在 spark-shell 中读取文件。我正在使用火花版本: 2.4.3。请让我知道我错过了什么。任何帮助,将不胜感激。
错误日志:
Caused by: com.amazon.ws.emr.hadoop.fs.shaded.com.amazonaws.services.s3.model.AmazonS3Exception: The AWS Access Key Id you provided does not exist in our records.