"Committers in Spark В спарке есть такая штука, как коммиттеры. Они нужны, чтобы пользователи видели только успешные финальные результаты. Их несколько: ✨ File Output Committer v1 ```""spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version"" = 1``` Сначала все файлы пишутся во временные папки в attempt/, потом перекладываются (по сути rename) в task/ и в самом конце в корень вашей папки. Тут упор на надежность: если что-то упало, то оно перезапустится и не попадет в конечную папку, пока не отработает v2 ```""spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version"" = 2``` Здесь файлы пишутся в attempt/, а потом сразу перемещаются в корень вашей папки. Тут упор на производительность: нет дополнительного шага, но если что-то пойдет не так, то останутся куски файлов ✨ S3A Committers Для работы с s3 есть magic и staging. Предыдущие не подходят, т.к. переименование реализовано как копирование и удаление. И если файлов много, то это очень долгая операция magic ```""spark.hadoop.fs.s3a.committer.name"" = ""magic"" ""spark.hadoop.fs.s3a.committer.magic.enabled"" = ""true""``` Файлы пишутся сразу в корень, но облако должно быть консистентным. Появился в конце 2021 staging С ним я не игралась, но суть в том, что сами файлы пишутся в стейджинг на hdfs (отсюда и название), а потом грузятся в s3 _SUCCESS Возможно, вы когда-нибудь заглядывали в файл _SUCCESS. Если писать алгоритмами v1/v2, то он будет пустым. А вот пример с magic: ```{ ""name"" : ""org.apache.hadoor.fs.3a.commit. files.SuccessData/1"", ""timestamp"" : 1744183768995, ""date"" : ""Wed Apr 09 10:29:28 MSK 2025"", ""committer"" : ""magic"", ""description"" : ""Task committer attempt_202504091019345870801396712503545_6660_m_1000000_0"", ""metrics"" : { ""stream_write_block_uploads"" : 0, ""files_created"" : 1, ""stream_closed"" : 200, ...```"
"Committers in Spark В спарке есть такая штука, как коммиттеры. Они нужны,…
Из этого канала
- #354"Найдите 10 отличий 🐱🥹 У меня было на слуху слово ""atlas"" в мире дата…
"Найдите 10 отличий 🐱🥹 У меня было на слуху слово ""atlas"" в мире дата технологий, но на днях я поняла, что их несколько: 🟠Есть Apache Atlas - это дата…
- #360"Аналитика по сторис Потратила час-два, но собрала аналитику по сторис, которые…
"Аналитика по сторис Потратила час-два, но собрала аналитику по сторис, которые я выкладываю😁 Погуглила апишку тг, погулила либу telethon, подняла постгрю в…
- #361✨Spark 4.0✨ Official release notes:…
✨Spark 4.0✨ Official release notes: https://spark.apache.org/releases/spark-release-4-0-0.html Краткое описание в статейке (работает только с впнкой):…
- #349Как вам история коммитов?
Как вам история коммитов?
- #347CustDev В моей голове не укладывалось, что это такое, пока я не попробовала на…
CustDev В моей голове не укладывалось, что это такое, пока я не попробовала на себе.