在使用mesosexecutor时,是否可以为dag的每个操作符指定资源(cpu、内存、gpu、磁盘空间)?我知道您可以为任务的资源指定全局值。例如,我有几个运算符的cpu开销很高,而其他运算符的cpu开销不高。我想在第一次执行一个,但许多并行的非cpu昂贵的。
zengzsys1#
从代码(mesos_executor.py第67行)来看,这似乎是不可能的,因为cpu和内存值在初始化期间传递给调度程序:
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
它需要一个定制的执行器实现来实现这一点
1条答案
按热度按时间zengzsys1#
从代码(mesos_executor.py第67行)来看,这似乎是不可能的,因为cpu和内存值在初始化期间传递给调度程序:
使用这些值时不作任何修改:
它需要一个定制的执行器实现来实现这一点