在“气流”中,我一直在使用“气流运行”和“气流测试”,但不完全了解它们之间的区别。他们有什么区别?谢谢!
答案 0 :(得分:12)
我自己仔细阅读了文档,发现它会造成混乱。
Airflow Run将运行任务实例,就好像您直接通过UI触发了它一样。也许最重要的是,状态将被记录在数据库中,并且该状态将反映在UI中,就像任务在自动情况下运行一样
Airflow Test将跳过任何可能通过自动运行而发生的依赖关系(任务,并发性,池等)检查,并且在不更新数据库的情况下运行任务。这意味着您可以多次“测试”任务并将其执行,但是数据库中的状态不会反映通过test命令触发的运行。
答案 1 :(得分:1)
在运行airflow
命令之前,请获取虚拟环境并设置AIRFLOW_HOME。
airflow run
等效于从UI运行任务。这意味着任务运行由实例记录。状态反映在UI中。它根据气流配置将日志写入Log文件夹。在数据库中保留审计跟踪。
airflow test
使您无需在元数据数据库中进行任何跟踪就可以执行任务。它不会在数据库中记录此任务实例的状态,因此不会在UI中反映任务的状态。通常,如果要多次测试任务并且不想在数据库中保留审核记录,则使用此方法。
答案 2 :(得分:0)
根据单据信息如下: 请注意, airflow test 命令在本地运行任务实例,将其日志输出到stdout(在屏幕上),不打扰依赖项,并且不传达状态(运行,成功,失败,...)。 )到数据库。它仅允许测试单个任务实例。