官网文档:https://incubator-airflow.readthedocs.io/en/latest/cli.html
clear
(1)clear 指定日期某一个dag下的任务,任务名可以用正则表达式匹配
airflow clear dagName -s 2018-09-16 -t ^.*dm_market_all_department.*$ (包含字符串“dm_market_all_department”, .* 表示匹配任意字符任意个数)
(2)清除一个dag下所有失败了的 task
airflow clear -f -x dag_name (-f : failed only , -x : 排除 subdag ,不写的话 subdag 里的也会clear)
(3) 清楚所有 stg 表
clear xiaozhan_main.subdag_stg_dw -t ^stg.*$ -s 2018-09-27
backfill
bashOperator 任务配置:
BashOperator(task_id='bash_b_task', bash_command='sh /home/airflow/tmp/a.sh {{ macros.ds_add(ds, -1)}} ', dag=dag) # {{ds}} 的结果是当天日期,这里往前推了一天
调用 a.sh 的脚本内容:
echo "select * from table1 where time = '$1'" > ~/tmp/z_$1.txt
执行命令:
airflow backfill test_dag -s 2015-06-01 -e 2015-06-07
得到以下结果: