官网文档: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

得到以下结果:

Airflow Comman Line 测试-LMLPHP

Airflow Comman Line 测试-LMLPHP

04-21 06:48