Я выполняю SQL-запрос Spark для нескольких столбцов информационного кадра с 200 разделами.
Это раскручивает несколько заданий в Spark, что завершается за доли секунды. У меня есть около 10000 таких быстро работающих рабочих мест. Несмотря на то, что задания выполняются быстро, приложение запускается часами и не завершает работу.
У меня включено динамическое распределение Spark (spark.dynamicAllocation.enabled) для распределения исполнителей и планирования FIFO для заданий.
До сих пор мои идеи по оптимизации были направлены на уменьшение количества разделов, чтобы посмотреть, смогу ли я получить больше небольших заданий для параллельного выполнения или попытаться переключиться на расписание FAIR. Я не уверен, что я на правильном пути здесь. Если у кого-то есть идеи получше, пожалуйста, дайте мне знать.
Спасибо