更多airflow資料亮隙,可查看:airflow從入門(mén)到精通學(xué)習(xí)筆記系列
airflow是什么?
airflow是Airbnb開(kāi)源的一個(gè)用python編寫(xiě)的調(diào)度工具垢夹,項(xiàng)目于2014年啟動(dòng)溢吻,2015年春季開(kāi)源,2016年加入Apache軟件基金會(huì)的孵化計(jì)劃果元。
Airflow is a platform to programmatically author, schedule and monitor workflows.
airflow是一個(gè)可編程促王、調(diào)度和監(jiān)控的工作流平臺(tái)。
Use airflow to author workflows as directed acyclic graphs (DAGs) of tasks. The airflow scheduler executes your tasks on an array of workers while following the specified dependencies. Rich command line utilities make performing complex surgeries on DAGs a snap. The rich user interface makes it easy to visualize pipelines running in production, monitor progress, and troubleshoot issues when needed.
基于有向無(wú)環(huán)圖(DAG)而晒,airflow可以定義一組有依賴的任務(wù)蝇狼,按照依賴依次執(zhí)行。airflow提供了豐富的命令行工具用于系統(tǒng)管控倡怎,而其web管理界面同樣也可以方便的管控調(diào)度任務(wù)迅耘,并且對(duì)任務(wù)運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控,方便了系統(tǒng)的運(yùn)維和管理监署。
airflow能用來(lái)干什么颤专?
在實(shí)際項(xiàng)目中焦匈,我們經(jīng)常遇到以下場(chǎng)景:
- 運(yùn)維人員,定時(shí)對(duì)服務(wù)器執(zhí)行腳本某些腳本昵仅,最簡(jiǎn)單的方式是添加一些crond任務(wù)缓熟,但如果想追溯各個(gè)任務(wù)的執(zhí)行結(jié)果時(shí)?
- 在大數(shù)據(jù)場(chǎng)景下摔笤,每隔一段時(shí)間需導(dǎo)出線上數(shù)據(jù)够滑、導(dǎo)入到大數(shù)據(jù)平臺(tái)、觸發(fā)數(shù)據(jù)處理等多個(gè)子操作吕世,且各個(gè)子操作含有依賴關(guān)系時(shí)彰触?
- 在管理大量主機(jī)時(shí),想要一個(gè)統(tǒng)一的作業(yè)管理平臺(tái)命辖,能在上面定義各種任務(wù)來(lái)管理下面的設(shè)備况毅?
airflow通過(guò)DAG配置文件,能輕松定義各種任務(wù)及任務(wù)之間的依賴關(guān)系和調(diào)度執(zhí)行尔艇,并一個(gè)可視化的操作web界面尔许。
airflow有什么優(yōu)勢(shì)?
- 自帶web管理界面终娃,易上手味廊;
- 業(yè)務(wù)代碼和調(diào)度代碼完全解耦;
- 通過(guò)python代碼定義子任務(wù),并支持各種Operate操作器余佛,靈活性大柠新,能滿足用戶的各種需求;
- python開(kāi)源項(xiàng)目辉巡,支持?jǐn)U展operate等插件恨憎,便于二次開(kāi)發(fā);
類似的工具有akzban红氯,quart等框咙;
更多airflow資料,可查看:airflow從入門(mén)到精通學(xué)習(xí)筆記系列
如發(fā)現(xiàn)文中有錯(cuò)誤痢甘,望留言指明喇嘱,萬(wàn)分感激;
如對(duì)此文章內(nèi)容感興趣塞栅,想進(jìn)一步探討者铜,可以留言交流;
如想轉(zhuǎn)發(fā)此文章放椰,請(qǐng)留言協(xié)商一下作烟,切勿不指明出處的轉(zhuǎn)發(fā),尊重原創(chuàng)砾医;
如閱讀過(guò)程中有收獲拿撩,并想感謝一下,歡迎打賞如蚜;
----小林幫