我可以通过向Airflow中的操作员添加更多cpu来提高处理速度吗?

时间:2018-01-12 03:57:05

标签: airflow apache-airflow

airflow.cfg中有一个名为[operators]的部分,其中default_cpus设置为1default_ramdefault_disk都设置为512

我想了解如果我增加这些参数,是否可以提高处理速度。

1 个答案:

答案 0 :(得分:5)

我查看了源代码,这些设置可供所有操作员使用,但它们从未被操作员或任何执行者使用过。

所以我回到历史记录中并查看了the commit that introduced those settings,他们是quoting the JIRA ticket导致PR:

  

与资源管理器(如yarn和mesos)一起使用的可选资源要求

然而,Mesos执行程序是一个社区贡献,它不利用这个属性而只是assigns the same amount of resources to every task,并且YARN执行程序还没有AFAIK(从版本1.9开始)。

我曾经与Airflow团队进行过讨论,了解是否有办法使用Mesos执行程序在每个任务的基础上分配资源,他们用their strategy to assign resources to tasks using the Celery executor回复了我,以防它可能有帮助了解如何管理资源。

关于您在更一般意义上提出的核心问题,您可以从与分配的资源相关的任务中获得的吞吐量类型在很大程度上取决于任务本身:当然非常如果为多个核心分配多个核心,那么可以利用多个处理器的计算密集型任务将会出现速度障碍,而I / O密集型任务(如在不同系统之间复制数据)可能不会有太大的改进。