Думаю вы шутите, но я в своей практике понаписал всяких таких утилит на го, эрланге, плюсах; когда явно задача против шерсти хадуперскому стеку выигрыш может быть большим
Я бы записал кусочки с максимальным параллелизмом в спарке, а потом запускал монолитную выгружалку (ещё и на отдельной очень быстрой по CPU/IO эдж ноде)
Да сейчас так и сделано, параллелизм обработки высокий, это уже не горлышко, а вот зиповалка это да. Пред ней приходится собирать все в одну партицию, но это быстро. А потом пихать в поток zip. это пока самое тонкое место.