如上圖,airflow中的dag關閉後仍然會在webui中佔坑,實在礙眼。調研後發現airflow並未提供刪除功能。
經分析實踐,可以通過刪除airflow的元數據庫中相應數據,從而達到刪除dag的目的。
接上圖,要刪除dag squaredance_datamart,需要刪除元數據庫中如下表的相應數據:
select count(1) from dag where dag_id='squaredance_datamart';
select count(1) from dag_run where dag_id='squaredance_datamart';
select count(1) from dag_stats where dag_id='squaredance_datamart';
select count(1) from job where dag_id='squaredance_datamart';
select count(1) from log where dag_id='squaredance_datamart';
select count(1) from sla_miss where dag_id='squaredance_datamart';
select count(1) from task_fail where dag_id='squaredance_datamart';
select count(1) from task_instance where dag_id='squaredance_datamart';
select count(1) from xcom where dag_id='squaredance_datamart';
delete from dag where dag_id='squaredance_datamart';
delete from dag_run where dag_id='squaredance_datamart';
delete from dag_stats where dag_id='squaredance_datamart';
delete from job where dag_id='squaredance_datamart';
delete from log where dag_id='squaredance_datamart';
delete from sla_miss where dag_id='squaredance_datamart';
delete from task_fail where dag_id='squaredance_datamart';
delete from task_instance where dag_id='squaredance_datamart';
delete from xcom where dag_id='squaredance_datamart';