#python #apache-spark #amazon-s3 #pyspark #amazon-sagemaker
#python #apache-spark #amazon-s3 #pyspark #amazon-sagemaker
Вопрос:
я пытаюсь прочитать сжатый csv-файл в pyspark. но я не могу читать в режиме ядра pyspark в sagemaker.
Тот же файл, который я могу прочитать с помощью pandas, когда ядро conda-python3 (в sagemaker)
Что я пробовал :
file1 = 's3://testdata/output1.csv.gz'
file1_df = spark.read.csv(file1, sep='t')
Сообщение об ошибке :
An error was encountered:
An error occurred while calling 104.csv.
: java.io.IOException: com.amazon.ws.emr.hadoop.fs.shaded.com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 7FF77313; S3 Extended Request ID:
Пожалуйста, дайте мне знать, если я что-то упустил
Ответ №1:
Обнаружена ошибка: произошла ошибка при вызове 104.csv. : java.io.IOException: com.amazon.ws.emr.hadoop.fs.shaded.com.amazonaws.services.s3.model.Исключение AmazonS3Exception: доступ запрещен (Сервис: Amazon S3; Код состояния: 403; Код ошибки: доступ запрещен; Идентификатор запроса: 7FF77313; Расширенный идентификатор запроса S3:
Для S3 есть другие соединители Hadoop. Только S3A активно поддерживается самим проектом Hadoop. Оригинальный s3:// клиент Apache Hadoop. Это больше не включено в Hadoop. S3n от Apache Hadoop: клиент файловой системы. Этот соединитель больше недоступен: пользователи должны перейти на более новый s3a.
Я приложил документ для вашей справки Apache S3 Connectors
PySpark автоматически считывает файл gz в соответствии с документом, который они предоставили. Нажмите Руководство по программированию Spark для документа.
file1 = 's3://testdata/output1.csv.gz'
rdd = sc.textFile(file1)
rdd.take(10)
Для загрузки файлов в dataframe
df = spark.read.csv(file1)