airflow DAG配置文件

更多airflow資料淹遵,可查看:airflow從入門到精通學習筆記系列

DAG概念

DAG(有向無環(huán)圖)服赎,在airflow中定義一個有依賴的作業(yè)執(zhí)行集合雇卷,包含有一組特定的作業(yè)任務(wù)苗踪,每個任務(wù)都是一系列具體的操作命令。

  • Task為DAG中具體的作業(yè)任務(wù)荠割,任務(wù)一般是一個具體的操作,如執(zhí)行某條shell命令旺矾、執(zhí)行某個python腳本等蔑鹦;
  • DAG中包含有多個任務(wù)Task及Task之間的執(zhí)行依賴關(guān)系、調(diào)度時間箕宙;

官方樣例

"""
Code that goes along with the Airflow tutorial located at:
https://github.com/apache/airflow/blob/master/airflow/example_dags/tutorial.py
"""
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import datetime, timedelta


default_args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'start_date': datetime(2015, 6, 1),
    'email': ['airflow@example.com'],
    'email_on_failure': False,
    'email_on_retry': False,
    'retries': 1,
    'retry_delay': timedelta(minutes=5),
    # 'queue': 'bash_queue',
    # 'pool': 'backfill',
    # 'priority_weight': 10,
    # 'end_date': datetime(2016, 1, 1),
}

dag = DAG(
    'tutorial', default_args=default_args, schedule_interval=timedelta(days=1))

# t1, t2 and t3 are examples of tasks created by instantiating operators
t1 = BashOperator(
    task_id='print_date',
    bash_command='date',
    dag=dag)

t2 = BashOperator(
    task_id='sleep',
    bash_command='sleep 5',
    retries=3,
    dag=dag)

templated_command = """
    {% for i in range(5) %}
        echo "{{ ds }}"
        echo "{{ macros.ds_add(ds, 7)}}"
        echo "{{ params.my_param }}"
    {% endfor %}
"""

t3 = BashOperator(
    task_id='templated',
    bash_command=templated_command,
    params={'my_param': 'Parameter I passed in'},
    dag=dag)

t2.set_upstream(t1)
t3.set_upstream(t1)

配置說明

  • DAG類定義了一個tutorial名稱的DAG嚎朽;
  • DAG類的schedule_interval參數(shù)定義了調(diào)度策略為每天執(zhí)行一次;
  • t1柬帕、t2哟忍、t3定義了三個Bash執(zhí)行器的Task;
  • t1的bash_command參數(shù)指定這個任務(wù)的具體操作雕崩,即執(zhí)行date命令魁索;
  • t3任務(wù)的使用了jinja傳入?yún)?shù);
  • set_upstream定義了依賴關(guān)系盼铁,即t2粗蔚、t3依賴于t1,需等待t1執(zhí)行完發(fā)觸發(fā)執(zhí)行饶火;

常用的配置文件管理命令

  • 配置文件的存放路徑:$AIRFLOW_HOME/dags
[root@node0 data]# ls $AIRFLOW_HOME/dags
__pycache__  tutorial.py
  • 查看已存在的FDAG配置
[root@node0 data]# airflow list_dags
-------------------------------------------------------------------
DAGS
-------------------------------------------------------------------
tutorial
  • 查看指定DAG配置中的子任務(wù)Task
[root@node0 data]# airflow list_tasks tutorial
print_date
sleep
templated

更多airflow資料鹏控,可查看:airflow從入門到精通學習筆記系列

如發(fā)現(xiàn)文中有錯誤致扯,望留言指明,萬分感激当辐;
如對此文章內(nèi)容感興趣抖僵,想進一步探討,可以留言交流缘揪;
如想轉(zhuǎn)發(fā)此文章耍群,請留言協(xié)商一下,切勿不指明出處的轉(zhuǎn)發(fā)找筝,尊重原創(chuàng)蹈垢;
如閱讀過程中有收獲,并想感謝一下袖裕,歡迎打賞曹抬;
----小林幫

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市急鳄,隨后出現(xiàn)的幾起案子谤民,更是在濱河造成了極大的恐慌,老刑警劉巖疾宏,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件张足,死亡現(xiàn)場離奇詭異,居然都是意外死亡灾锯,警方通過查閱死者的電腦和手機兢榨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來顺饮,“玉大人吵聪,你說我怎么就攤上這事〖嫘郏” “怎么了吟逝?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長赦肋。 經(jīng)常有香客問我块攒,道長,這世上最難降的妖魔是什么佃乘? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任囱井,我火速辦了婚禮,結(jié)果婚禮上趣避,老公的妹妹穿的比我還像新娘庞呕。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布住练。 她就那樣靜靜地躺著地啰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪讲逛。 梳的紋絲不亂的頭發(fā)上亏吝,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天,我揣著相機與錄音盏混,去河邊找鬼蔚鸥。 笑死,一個胖子當著我的面吹牛括饶,可吹牛的內(nèi)容都是我干的株茶。 我是一名探鬼主播来涨,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼图焰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蹦掐?” 一聲冷哼從身側(cè)響起技羔,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎卧抗,沒想到半個月后藤滥,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡社裆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年拙绊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片泳秀。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡标沪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出嗜傅,到底是詐尸還是另有隱情金句,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布吕嘀,位于F島的核電站违寞,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏偶房。R本人自食惡果不足惜趁曼,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望棕洋。 院中可真熱鬧挡闰,春花似錦、人聲如沸拍冠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至射众,卻和暖如春碟摆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背叨橱。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工典蜕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人罗洗。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓愉舔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親伙菜。 傳聞我的和親對象是個殘疾皇子轩缤,可洞房花燭夜當晚...
    茶點故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 本文將介紹 Airflow 這一款優(yōu)秀的調(diào)度工具。主要包括 Airflow 的服務(wù)構(gòu)成贩绕、Airflow 的 Web...
    a7f00a9019ae閱讀 62,201評論 6 42
  • 在快速啟動部分中設(shè)置很簡單火的,構(gòu)建生產(chǎn)級環(huán)境需要更多的工作,下面來了解一下淑倾。 1. 設(shè)置配置選項 第一次運行Airf...
    路小漫閱讀 9,559評論 0 3
  • 我們使用 Airflow 作為任務(wù)調(diào)度引擎, 那么就需要有一個 DAG 的定義文件, 每次修改 DAG 定義, 提...
    haitaoyao閱讀 4,010評論 0 7
  • 簡介 airflow是airbnb家的基于DAG(有向無環(huán)圖)的任務(wù)管理系統(tǒng), 最簡單的理解就是一個高級版的cro...
    lao男孩閱讀 49,270評論 1 21
  • 本月主題公路小說馏鹤,給我找個恰當?shù)睦碛沙鲂校w驗在路途上娇哆,帶上《格列佛游記》湃累。 《格列佛游記》可以說是一部政治寓言小...
    山果花開閱讀 346評論 2 5