чтение текстового файла из Amazon S3 с помощью PySpark - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь получить кластер Spark для чтения источников данных из облачного хранилища Amazon S3.Это приводит к следующей ошибке, для которой мне нужна помощь в диагностике проблемы:

>>> sc.textFile("s3a://storage-bucket/s3test.txt").collect()

py4j.protocol.Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe.
: com.amazonaws.services.s3.model.AmazonS3Exception: Status Code: 400, AWS Service: Amazon S3, AWS Request ID: D47397DA8BCB4669, AWS Error Code: null, AWS Error Message: Bad Request, S3 Extended Request ID: /aBi99tozgFEsdRGubDwhriMsNQvl1jLOf8AJquA8VXxzkpPL/LLCWDFQQvYn4snHx5gx66/pXo=

Кстати, это прекрасно работает:

$ aws s3 cp s3://storage-bucket/s3test.txt ./s3text.txt
download: s3://storage-bucket/s3test.txt to ./s3text.txt
$ cat s3text.txt 
Hello S3

Некоторые подробности из сообщения об ошибке:

Caused by: org.jets3t.service.S3ServiceException: Service Error Message. -- ResponseCode: 403, ResponseStatus: Forbidden, XML Error Message: <?xml version="1.0" encoding="UTF-8"?><Error><Code>SignatureDoe
sNotMatch</Code><Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message><AWSAccessKeyId>xxxxxxxxxxxxxxxxxx</AWSAccessKeyId><St

Ответы [ 2 ]

0 голосов
/ 09 июня 2018

что-то не так с вашим конфигом.Разъем S3A использует AWS SDK.Если ваша трассировка стека включает jets3t, значит, вы каким-то образом подключили к ней не ту файловую систему.Удалите из вашего источника anythig, который устанавливает свойства для fs.s3a.impl, и положитесь на среду выполнения Hadoop, чтобы разобраться, а затем повторите

0 голосов
/ 07 июня 2018

Можете ли вы проверить свои fs.s3a.access.key и fs.s3a.secret.key и убедиться, что они совпадают с теми же учетными данными, которые вы использовали для выполнения теста aws s3 cp.Эта ошибка SignatureDosNotMatch может появиться, если учетные данные неверны.попробуйте hdfs fs -ls s3a://storage-bucket/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...