气流中是否有可能 运行 多个工作节点上的单个任务,即 运行 以分布式方式执行任务

Is it possible in airflow to run a single task on multiple worker nodes i.e running a task in distributed way

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

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

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

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