Вы можете использовать repartition
, который создаст 1 файл на раздел. Это обеспечит наличие по крайней мере 1 задачи на раздел, что обеспечит достаточный параллелизм в задании искры.
df.repartition($"a", $"b", $"c", $"d", $"e").write.partitionBy("a", "b", "c", "d", "e").mode(SaveMode.Append).parquet(s"$location")