У меня есть сценарий pyspark, который читает sp3 в непарсированном файле одного партера, выполняет некоторые преобразования и записывает обратно в другой сегмент s3 с разбивкой по дате.
Я использую s3a для чтения и записи. Чтение в файлах и выполнение преобразований - это нормально и никаких проблем. Тем не менее, когда я пытаюсь записать в s3, используя s3a и разделить его, он выдает следующую ошибку:
WARN s3a.S3AFileSystem: Найденный файл (с /): реальный файл? не должно происходить: папка1 / output org. apache .had oop .fs.FileAlreadyExistsException: невозможно создать каталог для пути 's3a: // bucket1 / folder1 / output', поскольку это файл.
Часть кода, которую я использую для записи, выглядит следующим образом, где я пытаюсь добавить существующий каталог, но новый раздел для новой даты:
output_loc = "s3a://bucket1/folder1/output/"
finalDf.write.partitionBy("date", "advertiser_id") \
.mode("append") \
.parquet(output_loc)
Я использую Had oop v3. 0.0 и Spark 2.4.1
Кто-нибудь сталкивался с этой проблемой при использовании s3a вместо s3n. Кстати, он отлично работает на старом экземпляре, используя s3n.
Спасибо