【发布时间】:2019-11-24 11:51:40
【问题描述】:
我正在尝试从 Spark(在我的 PC 上运行)连接到我的 S3 存储桶:
val spark = SparkSession
.builder
.appName("S3Client")
.config("spark.master", "local")
.getOrCreate()
val sc = spark.sparkContext;
sc.hadoopConfiguration.set("fs.s3a.access.key", ACCESS_KEY)
sc.hadoopConfiguration.set("fs.s3a.secret.key", SECRET_KEY)
val txtFile = sc.textFile("s3a://bucket-name/folder/file.txt")
val contents = txtFile.collect();
但得到以下异常:
线程“main”中的异常 com.amazonaws.services.s3.model.AmazonS3Exception:状态代码:400, AWS 服务:Amazon S3,AWS 请求 ID:07A7BDC9135BCC84,AWS 错误 代码:空,AWS 错误消息:错误请求,S3 扩展请求 ID: 6ly2vhZ2mAJdQl5UZ/QUdilFFN1hKhRzirw6h441oosGz+PLIvLW2fXsZ9xmd8cuBrNHCdh8UPE=
我见过this question,但对我没有帮助。
编辑:
按照 Zack 的建议,我补充说:
sc.hadoopConfiguration.set("fs.s3a.endpoint", "s3.eu-central-1.amazonaws.com")
但我仍然遇到同样的异常。
【问题讨论】:
-
您可以尝试添加
sc.hadoopConfiguration.set("fs.s3a.impl " , "org.apache.hadoop.fs.s3a.S3AFileSystem")
标签: scala amazon-web-services apache-spark hadoop amazon-s3