我正在探索将AirFlow用作工作流执行引擎。
我喜欢它非常灵活的事实,它允许多个运算符,例如Python函数。但是,恐怕我可能缺少一些基本知识-任务重用。我想在多个DAG中运行现有的运算符,而不必重新定义它们。
据我所知-不支持。我错了吗?如果是这样,如果有人可以指出解决方案,我会很高兴。
想到的唯一(尴尬)的解决方案是为每个操作员都拥有一个虚拟DAG,然后使用 DagRunOperator 在这些虚拟DAG之上构建我的DAG。
非常感谢!
答案 0 :(得分:0)
推荐的方法是创建自己的Airflow插件。
(来自Airflow Documentation on Plugins)
Airflow内置了一个简单的插件管理器,只需将文件拖放到$ AIRFLOW_HOME / plugins文件夹中,便可以将外部功能集成到其核心中。
plugins文件夹中的python模块被导入,并且钩子,运算符,传感器,宏,执行程序和Web视图被集成到Airflow的主要集合中并可供使用。
因此,如果您要在插件中创建自定义运算符,则可以在多个DAG中重复使用同一运算符。
此存储库也很有用,因为它有很多Airflow插件示例:https://github.com/airflow-plugins