Возможно ли программно добавить честные пулы планировщиков в Spark?

#apache-spark

#apache-spark

Вопрос:

Я разрабатываю приложение, в котором несколько пользователей используют один и тот же SparkContext для запуска своих запросов к кластеру Spark.

Как указано в документации Spark (https://spark.apache.org/docs/2.2.0/job-scheduling.html#fair-scheduler-pools ) с помощью Fair scheduler вы можете назначить отдельный пул для каждого пользователя, и они получат справедливую долю ресурсов кластера, но каждый пул будет настроен с конфигурацией пула по умолчанию (режим планирования FIFO, вес 1 и минимальная доля 0).

Учитывая, что мы заранее не знаем, какие пользователи могут подключаться к приложению, мы не можем настроить файл конфигурации для пулов fair scheduler для всех пользователей.

Итак, чтобы динамически предоставлять пул каждому пользователю и настраивать каждый пул в режиме СПРАВЕДЛИВОГО планирования, я думаю, что может быть 2 варианта:

  1. Измените поведение пула по умолчанию, чтобы изменить режим планирования на СПРАВЕДЛИВЫЙ. Возможно ли это? Как?
  2. Создайте пул планировщиков динамически и программно, чтобы добавить пул планировщиков при первом подключении пользователя к приложению, и этот пул должен быть создан в режиме СПРАВЕДЛИВОГО планирования. Возможно ли это? Как?

Заранее спасибо