如何处理气流中的DAG lib?
How to deal with DAG lib in airflow?
我对 python 运算符
中使用的包的依赖管理有一点疑问
我们在工业化模式下使用气流来 运行 计划的 python 作业。它运行良好,但我们面临着处理每个 DAG 所需的不同 python 库的问题。
您是否知道如何让开发人员为他们的工作安装他们自己的依赖项,而无需管理员身份并确保这些依赖项不会与其他工作冲突?
您是否建议有一个 bash 任务在作业开始时加载虚拟环境?有官方推荐吗?
谢谢!
罗曼.
总的来说,我认为您的问题有两种可能的解决方案:
Airflow 有一个 PythonVirtualEnvOperator 允许任务 运行 在 virtualenv 中自动创建和销毁。您可以将 python_version
和需求列表传递给构建虚拟环境的任务。
设置 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。我想看看他们是否在线发布了他们的幻灯片,但我似乎找不到。
我对 python 运算符
中使用的包的依赖管理有一点疑问我们在工业化模式下使用气流来 运行 计划的 python 作业。它运行良好,但我们面临着处理每个 DAG 所需的不同 python 库的问题。
您是否知道如何让开发人员为他们的工作安装他们自己的依赖项,而无需管理员身份并确保这些依赖项不会与其他工作冲突?
您是否建议有一个 bash 任务在作业开始时加载虚拟环境?有官方推荐吗?
谢谢! 罗曼.
总的来说,我认为您的问题有两种可能的解决方案:
Airflow 有一个 PythonVirtualEnvOperator 允许任务 运行 在 virtualenv 中自动创建和销毁。您可以将
python_version
和需求列表传递给构建虚拟环境的任务。设置 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。我想看看他们是否在线发布了他们的幻灯片,但我似乎找不到。