Airflow 在 python operator 下如何使用execution_date变量

谁说我不能喝 提交于 2019-11-29 20:44:44

Airflow 在 python operator 下如何使用execution_date变量呢?不复杂,但是要跳出宏变量的圈,不要老想着用下面这种宏实现就行了

thedate = '{{(execution_date - macros.timedelta(days=1)).strftime("%Y-%m-%d")}}'

在 python operator 下,用如下代码

def example(**context):
	execution_date = context['execution_date'] // 这里获取 execution_date 变量
	thedate = execution_date - timedelta(days=1) # 获得前一天的时间

task_example = PythonOperator(
    task_id='clean_adv_user_hs_to_ch',
    provide_context=True, // 这里要设置为 True
    python_callable=example,
    dag=dag,
)

参考

https://airflow.readthedocs.io/en/stable/howto/operator/python.html https://stackoverflow.com/questions/50093718/airflow-python-script-with-execution-date-in-op-kwargs

更多架构、PHP、GO、大数据相关踩坑实践技巧请关注我的公众号

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!