【问题标题】:Airflow dependencies overwrite each other气流依赖性相互覆盖
【发布时间】:2018-10-24 15:40:51
【问题描述】:

我是气流新手 (v1.10)。 我有两个 dag,每个都需要相同的依赖项,但版本不同。如何确保我的依赖项不会相互覆盖(例如,dag1.py 需要 v1 版本的 helper.py,dag2.py 需要 v2 版本的 helper.py)?

【问题讨论】:

    标签: airflow


    【解决方案1】:

    一般来说,我认为您的问题有两种可能的解决方案:

    1. Airflow 有一个 PythonVirtualEnvOperator,它允许任务在自动创建和销毁的 virtualenv 中运行。您可以传递python_version 和任务要求列表来构建虚拟环境。
    2. 设置 docker 注册表并使用 DockerOperator 而不是 PythonOperator。这将允许团队根据特定要求设置自己的 Docker 映像。 (由 dlamblin 建议)

    【讨论】:

    • 嗨,kaxil,谢谢您的回答。选项 1 将不起作用,因为 python 将加载两个助手并相互覆盖。选项 2 将起作用,但我最终为每个 DAG 创建了一个唯一的依赖文件夹(具有唯一的名称)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 2013-07-19
    • 2013-08-04
    • 2016-04-13
    相关资源
    最近更新 更多