Настройте ресурсы задач в Airflow с помощью MesosExecutor - PullRequest
0 голосов
/ 10 мая 2018

Можно ли указать ресурсы (процессор, память, графический процессор, дисковое пространство) для каждого оператора группы доступности базы данных при использовании MesosExecutor?

Я знаю, что вы можете указать глобальные значения для ресурсов задачи.

Например, у меня есть несколько операторов, которые стоят дорого CPU, а другие нет. Я хотел бы выполнить по одному из первых, но многие параллельно не дорогостоящим процессорам.

1 Ответ

0 голосов
/ 30 мая 2018

Из кода (mesos_executor.py, строка 67) кажется, что это невозможно, поскольку значения ЦП и памяти передаются Планировщику во время инициализации:

    def __init__(self,
             task_queue,
             result_queue,
             task_cpu=1,
             task_mem=256):
    self.task_queue = task_queue
    self.result_queue = result_queue
    self.task_cpu = task_cpu
    self.task_mem = task_mem

и эти значения используются без изменений:

cpus = task.resources.add()
            cpus.name = "cpus"
            cpus.type = mesos_pb2.Value.SCALAR
            cpus.scalar.value = self.task_cpu

            mem = task.resources.add()
            mem.name = "mem"
            mem.type = mesos_pb2.Value.SCALAR
            mem.scalar.value = self.task_mem

Для достижения этой цели требуется специальная реализация Executor

...