气流依赖性相互覆盖

时间:2018-10-24 15:40:51

标签: airflow

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

1 个答案:

答案 0 :(得分:1)

总的来说,我为您的问题提供了两种可能的解决方案:

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