gpt4 book ai didi

airflow - Airflow 中的 CeleryExecutor 不会并行化 subdag 中的任务

转载 作者:行者123 更新时间:2023-12-02 13:53:09 27 4
gpt4 key购买 nike

我们使用的是 Airflow:1.10.0,经过一番分析,为什么我们的一些 ETL 流程花费了如此长的时间,我们发现子DAG 使用的是 SequentialExecutor 而不是使用 BaseExecutor 或者当我们配置 CeleryExecutor 时。

我想知道这是否是 Airflow 的错误或预期行为。具有并行执行任务的能力是没有任何意义的,但在某些特定类型的任务中,这种能力会丢失。

Execution of our SugDag (Zoom in Subdag)

最佳答案

这是在 subdags 中使用 SequentialExecutor 的典型模式,其想法是您经常执行许多类似的相关任务,并且不一定希望通过添加到 celery 中的队列等来增加开销。请参阅Airflow 文档中子标签的“其他提示”部分:https://airflow.apache.org/concepts.html#subdags

默认情况下,子标签设置为使用顺序执行器(请参阅:https://github.com/apache/incubator-airflow/blob/v1-10-stable/airflow/operators/subdag_operator.py#L38),但您可以更改它。

要使用 celery 执行器,请在您的 subdag 创建中添加以下内容:

from airflow.executors.celery_executor import CeleryExecutor
mysubdag = SubDagOperator(
executor=CeleryExecutor()
...
)

关于airflow - Airflow 中的 CeleryExecutor 不会并行化 subdag 中的任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51885410/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com