я полагаю, что нет, т. к. к-во файлов просто равно к-во тасков на аутпуте. последнее зависит от кучи других вещей, а в конце аутпут спарк мержить не умеет. но, может, я ошибаюсь.
решения small files problem, которые я знаю -
1. repartition (включая соленый repartition, если есть data skew)
2. тюнить spark parallelism
3. юзать delta lake - в опен сорс версии там можно периодически мержить файлы, но это вроде будет full scan. и я не помню, атомарная ли это операция (не упадут ли readers, читающие файлы в момент мержа)
4. мержить файлы через parquet tools. это достаточно быстро, т. к. в этом случае не мержатся row groups, а просто аппендятся, грубо говоря
5. у hive на managed таблицах есть конфиги, позволяющие выполнять merge атомарно при записи. можно также пофиксить таблицы, где есть уже мелкие файлы. другое дело, что hive managed tables в проде - хз, надо ли
1,2,3 я использовал, работает. 4,5 - нет. хз, как работает