如上图,airflow中的dag关闭后仍然会在webui中占坑,实在碍眼。调研后发现airflow并未提供删除功能。
经分析实践,可以通过删除airflow的元数据库中相应数据,从而达到删除dag的目的。
接上图,要删除dag dag_not_need,需要删除元数据库中如下表的相应数据:
select count(1) from dag where dag_id='dag_not_need';
select count(1) from dag_run where dag_id='dag_not_need';
select count(1) from dag_stats where dag_id='dag_not_need';
select count(1) from job where dag_id='dag_not_need';
select count(1) from log where dag_id='dag_not_need';
select count(1) from sla_miss where dag_id='dag_not_need';
select count(1) from task_fail where dag_id='dag_not_need';
select count(1) from task_instance where dag_id='dag_not_need';
select count(1) from xcom where dag_id='dag_not_need';
delete from dag where dag_id='dag_not_need';
delete from dag_run where dag_id='dag_not_need';
delete from dag_stats where dag_id='dag_not_need';
delete from job where dag_id='dag_not_need';
delete from log where dag_id='dag_not_need';
delete from sla_miss where dag_id='dag_not_need';
delete from task_fail where dag_id='dag_not_need';
delete from task_instance where dag_id='dag_not_need';
delete from xcom where dag_id='dag_not_need';