气流中的自动缩放任务

时间:2019-05-06 12:35:48

标签: airflow

我想利用气流进行图像处理。

我有4个任务:图像预处理(A),边界框查找器(B),分类(C),图像定稿(D)。

图表如下:

A -> B1 -> C  \
  -> B2 -> C  -   D
  -> B3 -> C  /
  -> Bn -> C /

“图像预处理”任务的输出是边界框建议的列表,对于每个边界框,我都会运行分类,一旦所有分类任务结束,我都会运行图像定稿。

我希望所有内容并行运行

这将每天运行10000张图像,因此,如果我在UI中针对每个图像使用不同的管道表示形式,那么我将无法跟踪管道...

气流可能吗?

1 个答案:

答案 0 :(得分:1)

动态创建这样的任务并不是Airflow的最佳选择。请查看此处的答案以获得一些见解:Airflow dynamic tasks at runtime。 气流更适合用作调度工具,因此我建议您将实际工作和并行化委托给其他工具,例如Celery。您仍然可以使用Airflow来安排这项工作,因为您的B步骤是一个简单的操作员,可以读取A的输出(通过XCom或类似工具)并将实际工作分配给一些远程工作人员。

您可以事先知道B任务的最大数量吗?如果这是可以管理的,则可以放弃创建最大B任务,然后根据A的结果根据需要跳过其中的一些任务。 实现可能并不简单,但是您可以从此讨论中获得一些提示:Launch a subdag with variable parallel tasks in airflow