Преобразование клеевого паркета AWS в s3

Мы используем aws glue etl jobs для преобразования s3 Json или CSV в формат parquet, и результат мы сохраняем в новом s3. Это задание выполняется периодически. Мы сталкиваемся с проблемой, например, если у нас есть 10 файлов json каждый раз, когда он запускается, он создает новые 10 файлов паркета, поэтому он становится 10 20 30 40 .... и так далее, мы хотим видеть только 10 файлов. Есть ли способ переопределить существующие файлы паркета. Мы используем только скрипт Python, созданный с помощью клея. Можем ли мы конвертировать только обновленные файлы или все файлы просрочены?


person rohith    schedule 06.02.2018    source источник


Ответы (1)


df.write.mode ('overwrite'). parquet ("/ output / folder / path") работает, если вы хотите перезаписать файл паркета с помощью python.

person Kishore Bharathy    schedule 06.02.2018
comment
Привет Кишор Спасибо за ответ, попробовал то же самое. Проверка наших результатов - person rohith; 07.02.2018
comment
Привет, Кишор, еще одна проблема. Если в наших столбцах есть место, значит, этот метод вызывает проблему, мы попробовали использовать тот же псевдоним. - person rohith; 07.02.2018
comment
Я попробовал предложенный код, который использует режим перезаписи с моим заданием ETL (который преобразует csv из s3 в паркет в другом s3, но кажется, что задание не работает и выдает исключение: java.lang.IllegalArgumentException: невозможно создать Путь из пустой строки Позже я нашел сообщение в блоге о той же проблеме, в которой говорится, что режим перезаписи с s3 и паркетом вообще не работает: stackoverflow.com/questions/44991550/ - person Andrey Cheptsov; 01.03.2018
comment
ОБНОВЛЕНИЕ: режим перезаписи работает нормально, если вы включили хотя бы одну папку верхнего уровня в свой путь s3. - person Andrey Cheptsov; 01.03.2018