#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 варианта:
- Измените поведение пула по умолчанию, чтобы изменить режим планирования на СПРАВЕДЛИВЫЙ. Возможно ли это? Как?
- Создайте пул планировщиков динамически и программно, чтобы добавить пул планировщиков при первом подключении пользователя к приложению, и этот пул должен быть создан в режиме СПРАВЕДЛИВОГО планирования. Возможно ли это? Как?
Заранее спасибо