首页 > 解决方案 > 气流和模块

问题描述

使用 Airflow,我有一个用 python 编写的主应用程序,其中有一些代码需要我放入 Airflow 的 DAG。

现在我来自 Java 世界,通过创建适当的 jar 来解决这样的问题......但在 python 中,我想知道推荐的解决方案是什么。

我的想法是有这样的结构:

common/
    __init__.py
    lib1.py
    lib2.py
    ...
theApp/ #standalone app
    __init__.py
    __main__.py
    app.py  <-- does use common.lib1.py
theOtherApp/ #airflow stuff with DAGs
    __init_.py
    script1.py <-- does use common.lib1.py

但我有以下疑问:

标签: pythonairflowpython-module

解决方案


您的第二个问题是肯定的,但不是您构建它的方式。您将 common 和 theApp 目录复制到 theOtherApp 因为 theOtherApp 需要它们

你的第一个问题是可以把common放在python路径的lib路径中,或者把common复制到App目录下

我没有使用 Airflow,但如果它能够运行 python,我相信它们将是一个 python Lib 路径,你可以在某个地方包含你的 common,然后在 theApp 和 theOtherApp 中导入


推荐阅读