跨DAG重用任务(操作员)

时间:2019-05-20 15:13:09

标签: airflow

我正在探索将AirFlow用作工作流执行引擎。

我喜欢它非常灵活的事实,它允许多个运算符,例如Python函数。但是,恐怕我可能缺少一些基本知识-任务重用。我想在多个DAG中运行现有的运算符,而不必重新定义它们。

据我所知-不支持。我错了吗?如果是这样,如果有人可以指出解决方案,我会很高兴。

想到的唯一(尴尬)的解决方案是为每个操作员都拥有一个虚拟DAG,然后使用 DagRunOperator 在这些虚拟DAG之上构建我的DAG。

非常感谢!

1 个答案:

答案 0 :(得分:0)

推荐的方法是创建自己的Airflow插件。

(来自Airflow Documentation on Plugins

  

Airflow内置了一个简单的插件管理器,只需将文件拖放到$ AIRFLOW_HOME / plugins文件夹中,便可以将外部功能集成到其核心中。

     

plugins文件夹中的python模块被导入,并且钩子,运算符,传感器,宏,执行程序和Web视图被集成到Airflow的主要集合中并可供使用。

因此,如果您要在插件中创建自定义运算符,则可以在多个DAG中重复使用同一运算符。

此存储库也很有用,因为它有很多Airflow插件示例:https://github.com/airflow-plugins