Я пытаюсь прочитать файл S3 в качестве входных данных для моего приложения pyspark, но получаю ошибку:
File "C:\Users\cbouyssi\AppData\Local\Continuum\anaconda3\envs\wavenet\lib\site-packages\pyspark\python\lib\py4j-0.10.7-src.zip\py4j\protocol.py", line 328, in get_return_value
py4j.protocol.Py4JJavaError: An error occurred while calling o44.csv.
: com.amazonaws.AmazonClientException: Unable to execute HTTP request: powercaster.eu-west-3.amazonaws.com
Моя конфигурация:
spark = SparkSession.builder \
.appName("powercaster") \
.config('spark.sql.codegen.wholeStage', False) \
.getOrCreate()
spark._jsc.hadoopConfiguration().set("fs.s3a.access.key", "mykey")
spark._jsc.hadoopConfiguration().set("fs.s3a.secret.key", "mysecret")
spark._jsc.hadoopConfiguration().set("fs.s3a.impl","org.apache.hadoop.fs.s3a.S3AFileSystem")
spark._jsc.hadoopConfiguration().set("com.amazonaws.services.s3.enableV4", "true")
spark._jsc.hadoopConfiguration().set("fs.s3a.aws.credentials.provider","org.apache.hadoop.fs.s3a.BasicAWSCredentialsProvider")
spark._jsc.hadoopConfiguration().set("fs.s3a.endpoint", "s3.eu-west-3.amazonaws.com")
Ошибка происходит от:
df = spark.read.option("delimiter", ",").csv("s3a://mybucket/mykey", header = True)
Есть идеи, что я делаю неправильно?