【问题标题】:Is it possible in airflow to run a single task on multiple worker nodes i.e running a task in distributed way在气流中是否可以在多个工作节点上运行单个任务,即以分布式方式运行任务
【发布时间】:2021-11-23 12:18:51
【问题描述】:

我正在使用 Spring Batch 创建批处理作业的工作流程。单个批处理作业需要 2 小时才能完成(要处理的数据约为 100 万),因此决定以分布式方式运行,其中一个任务将分布在多个工作节点上,这样它就可以在短时间内执行。工作流中的其他作业(都以分布式方式工作)需要一个接一个地按顺序运行。这些作业是多节点分布式作业(主/从架构),需要一个接一个地运行。

现在,我正在考虑在气流上部署工作流。因此,在探索时,我找不到任何方法来运行分布在多台机器上的单个任务。在气流中可以吗?

【问题讨论】:

    标签: kubernetes celery airflow


    【解决方案1】:

    是的,您可以使用Spark 框架创建任务。 Spark 允许您以分布式方式处理多个节点上的数据。

    然后您可以使用SparkSubmitOperator 来对齐 DAG 中的任务。

    【讨论】:

    • 其实我们是用spring batch来处理100万个数据集。我认为 Spark 可以处理,因为它是 Spark 功能,可以在多个节点上分发任务然后处理。但是,在春季批次中,它不是框架的内在属性。 Airflow 是否提供任何此类功能,其中单个任务可以分布在多个节点上。关于节点间​​的互通和分布式处理,由spring batch借助JMS队列来处理
    猜你喜欢
    • 2020-12-30
    • 2018-09-26
    • 2021-02-18
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 2018-11-11
    • 2011-06-20
    • 1970-01-01
    相关资源
    最近更新 更多