从pyspark调用awss3 bucket时出错aws错误代码:null,aws错误消息:错误请求

nzkunb0c  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(247)

错误是py4jjavaerror:调用o411.csv时出错。

com.amazonaws.services.s3.model.amazons3异常:状态代码:400,aws服务:amazon s3,aws请求id:fsdfewffsd,aws错误代码:null,aws错误消息:错误请求,s3扩展请求id

我在spark 3.0预览版上。我开始了Pypark课程 pyspark --packages=org.apache.hadoop:hadoop-aws:2.7.3 命令。
我尝试了下面的代码

hadoop_conf = spark._jsc.hadoopConfiguration()
hadoop_conf.set("fs.s3a.impl","org.apache.hadoop.fs.s3a.S3AFileSystem")
hadoop_conf.set("com.amazonaws.services.s3.enableV4", "true")
hadoop_conf.set("fs.s3a.endpoint", "s3.us-east-2.amazonaws.com")    hadoop_conf.set("fs.s3a.aws.credentials.provider","org.apache.hadoop.fs.s3a.BasicAWSCredentialsProvider")
hadoop_conf.set("fs.s3a.access.key",ACCESS_KEY)
hadoop_conf.set("fs.s3a.secret.key",SECRET_KEY)

在调用bucket之后,下面的一行抛出错误。

sdf = spark.read.csv("s3a://aai-team/neighbourhoods.csv")
vof42yt1

vof42yt11#

我今天也有同样的问题。刚用setsystemproperty解决了->

spark = SparkSession.builder.appName("app").getOrCreate()
sc=spark.sparkContext
sc.setSystemProperty("com.amazonaws.services.s3.enableV4", "true")

然后hadoop和你的一样。

相关问题