gpt4 book ai didi

airflow - 获取最近成功执行 DAG 的日期

转载 作者:行者123 更新时间:2023-12-04 11:27:23 32 4
gpt4 key购买 nike

我希望在 Airflow 中创建一个转换,并且我想确保从上次运行 DAG 以更新我的目标表以来从我的源中获取所有数据。为此,我希望能够获得最近成功的执行。

我找到了这个:Apache airflow macro to get last dag run execution time这让我达到了最终目标,但是,这只会获得 DAG 执行的最后一次,无论它是否成功。

SELECT col1, col2, col3
FROM schema.table
WHERE table.updated_at > '{{ last_dag_run_execution_date(dag) }}';

如果执行失败(由于连接或类似原因),last_dag_run_execution_date(dag) 将更新,但我们错过了之前 DAG 运行的执行。

理想情况下,这将拉取最近的非失败执行。或者如果有人有任何想法我怎么能满足这个,请让我知道

最佳答案

我最终将引用问题中的函数更改为使用 latest_execution_date,这是 Airflow 中的预定义宏,如下所示:

def get_last_dag_run(dag):
last_dag_run = dag.latest_execution_date
if last_dag_run is None:
return '2013-01-01'
else:
return last_dag_run

目前似乎正在为我工​​作。

关于airflow - 获取最近成功执行 DAG 的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57607042/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com