我对python运算符中使用的包的依赖管理有一点疑问
我们正在以工业化模式使用气流来运行预定的python作业。它运行良好,但我们面临着处理每个DAG所需的不同python库的问题。
您是否知道如何让开发人员为自己的工作安装自己的依赖项而不是管理员,并确保这些依赖项不会与其他工作发生冲突?
您是否建议使用bash任务在作业开始时加载虚拟环境?任何官方的建议吗?
谢谢! 罗曼。
答案 0 :(得分:8)
一般情况下,我会为您的问题找到两种可能的解决方案:
Airflow有...and that is the render I wish,允许任务在virtualenv中运行,自动创建和销毁。您可以将if (x > 1) {
System.out.println("Hello!");
}else if (x < 1) {
System.out.println("Bye!");
}
和需求列表传递给任务以构建虚拟环境。
设置docker注册表并使用PythonVirtualEnvOperator而不是PythonOperator。这将允许团队根据特定要求设置自己的Docker镜像。这就是我认为喜力设置他们DockerOperator中提出的气流工作的方式。我正试图看看他们是否在网上发布了幻灯片,但我似乎无法找到它们。