如何处理气流中的DAG lib?

How to deal with DAG lib in airflow?

我对 python 运算符

中使用的包的依赖管理有一点疑问

我们在工业化模式下使用气流来 运行 计划的 python 作业。它运行良好,但我们面临着处理每个 DAG 所需的不同 python 库的问题。

您是否知道如何让开发人员为他们的工作安装他们自己的依赖项,而无需管理员身份并确保这些依赖项不会与其他工作冲突?

您是否建议有一个 bash 任务在作业开始时加载虚拟环境?有官方推荐吗?

谢谢! 罗曼.

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

  1. A​​irflow 有一个 PythonVirtualEnvOperator 允许任务 运行 在 vi​​rtualenv 中自动创建和销毁。您可以将 python_version 和需求列表传递给构建虚拟环境的任务。

  2. 设置 docker 注册表并使用 DockerOperator rather than a PythonOperator. This would allow teams to set up their own Docker images with specific requirements. This is how I think Heineken set up their airflow jobs as presented in their Airflow Meetup。我想看看他们是否在线发布了他们的幻灯片,但我似乎找不到。