[python]luigi任務(wù)調(diào)度框架

luigi任務(wù)調(diào)度框架 - CSDN博客
http://blog.csdn.net/u013063153/article/details/72817472

Luigi
luigi的github地址:https://github.com/spotify/luigi *

介紹

Luigi是基于python語言的择葡,可幫助建立復(fù)雜流式批處理任務(wù)管理系統(tǒng)紧武。它主要提供了以下功能:任務(wù)依賴管理、工作流管理敏储、任務(wù)可視化阻星、錯(cuò)誤故障處理機(jī)制、命令行交互等已添。Luigi的主要目的是為了解決需要長期運(yùn)行的流式批處理任務(wù)的管理妥箕。你可以鏈接很多個(gè)任務(wù),使它們自動(dòng)化更舞,并進(jìn)行故障管理畦幢。上面所說的任務(wù)可以是任何類型的任務(wù),通常來說有如下幾種:Hadoop任務(wù)疏哗、從數(shù)據(jù)庫導(dǎo)入或?qū)С觥C(jī)器學(xué)習(xí)算法訓(xùn)練等禾怠。
API概覽
在Luigi中有兩個(gè)基礎(chǔ)類:Task, Target返奉。 另外,Parameter類對(duì)于如何控制Task類的運(yùn)行是一個(gè)重要的類吗氏。
Target
廣義地講芽偏,Target可對(duì)應(yīng)為磁盤上的文件,或HDFS上文件,或checkpoint點(diǎn)弦讽,或數(shù)據(jù)庫等污尉。對(duì)于Target來說膀哲,唯一需要實(shí)現(xiàn)的方法為exists,返回為True表示存在,否則不存在返回為False. 在實(shí)際應(yīng)用時(shí)被碗,寫一個(gè)Target子類是很少需要用到的某宪。直接使用開箱即可用的LocalTarget及 hdfs.HdfsTarget類就夠用了。Luigi提供了Gzip支持锐朴,通過參數(shù)format=format.Gzip即可兴喂。
Task
Task是任務(wù)邏輯運(yùn)行的地方,提供了一些方法來定義任務(wù)的邏輯行為焚志,主要有run, output, requires.
Task通過類名及參數(shù)值做為標(biāo)識(shí)符進(jìn)行唯一區(qū)分衣迷。實(shí)際上,在同一個(gè)worker中酱酬,兩個(gè)擁有相同類名及相同參數(shù)值的task不單單只是equal壶谒,而且實(shí)際上還是同一個(gè)實(shí)例。然而膳沽,如果參數(shù)在構(gòu)建聲明時(shí)指定了參數(shù) significant=False 汗菜,對(duì)于Task的標(biāo)識(shí)是不起影響的。對(duì)于多個(gè)Task贵少,它們的類名相同呵俏,只是指定了 significant=False 的參數(shù)值才不同,而未指定 significant=False 的參數(shù)值是相同的滔灶,對(duì)于這些Task來說普碎,它們擁有相同的標(biāo)識(shí)符,即 hash(taskA) == hash(taskB) 是True的录平,但它們來自于不同的實(shí)例麻车。
Task.requires
requires方法用來指定依賴關(guān)系,除了可指定對(duì)其他Task的依賴斗这,還可指定為對(duì)自身Task的依賴动猬。requires返回值可為 dicts/lists/tuples 或其他類別的封裝。

Task.output
output方法返回一個(gè)或多個(gè)的Target對(duì)象表箭,類似于requires方法赁咙,可返回適應(yīng)于實(shí)際需要的對(duì)于Target的任何封裝。實(shí)際上免钻,建議只返回一個(gè)Target彼水,因?yàn)槿绻祷囟鄠€(gè),atomicity將會(huì)被丟失极舔,除非Task能夠確保多個(gè)Target能被原子性地創(chuàng)建凤覆。當(dāng)然,如果原子性不是非常重要的時(shí)候拆魏,那么就可以放心地返回多個(gè)Target盯桦。

Task.run
run方法包含實(shí)際真正執(zhí)行的代碼慈俯。注意到,Luigi將任何事情切分為兩個(gè)階段拥峦,首先它指出在tasks之間的依賴關(guān)系贴膘,然后它運(yùn)行每一件事情。 input() 方法是一個(gè)內(nèi)部幫助方法事镣,用來替代在requires 中的對(duì)象的對(duì)應(yīng)輸出步鉴。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市璃哟,隨后出現(xiàn)的幾起案子氛琢,更是在濱河造成了極大的恐慌,老刑警劉巖随闪,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件阳似,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡铐伴,警方通過查閱死者的電腦和手機(jī)撮奏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來当宴,“玉大人畜吊,你說我怎么就攤上這事』福” “怎么了玲献?”我有些...
    開封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長梯浪。 經(jīng)常有香客問我捌年,道長,這世上最難降的妖魔是什么挂洛? 我笑而不...
    開封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任礼预,我火速辦了婚禮,結(jié)果婚禮上虏劲,老公的妹妹穿的比我還像新娘托酸。我一直安慰自己,他們只是感情好柒巫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開白布励堡。 她就那樣靜靜地躺著,像睡著了一般吻育。 火紅的嫁衣襯著肌膚如雪念秧。 梳的紋絲不亂的頭發(fā)上淤井,一...
    開封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天布疼,我揣著相機(jī)與錄音摊趾,去河邊找鬼。 笑死游两,一個(gè)胖子當(dāng)著我的面吹牛砾层,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播贱案,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼肛炮,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了宝踪?” 一聲冷哼從身側(cè)響起侨糟,我...
    開封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瘩燥,沒想到半個(gè)月后秕重,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡厉膀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年溶耘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片服鹅。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡凳兵,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出企软,到底是詐尸還是另有隱情庐扫,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布澜倦,位于F島的核電站聚蝶,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏藻治。R本人自食惡果不足惜碘勉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望桩卵。 院中可真熱鬧验靡,春花似錦、人聲如沸雏节。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钩乍。三九已至辞州,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間寥粹,已是汗流浹背变过。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來泰國打工埃元, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人媚狰。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓岛杀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親崭孤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子类嗤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)辨宠,斷路器遗锣,智...
    卡卡羅2017閱讀 134,672評(píng)論 18 139
  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 10,990評(píng)論 6 13
  • 每次看到有人煞有介事地撰文教別人“如何做到不再尋求外界的認(rèn)同派殷?”还最,我就氣不打一處來。很長一段時(shí)間以來毡惜,尋求認(rèn)同好像...
    李小墨閱讀 1,808評(píng)論 6 32
  • 文/八爪青蛙 夜未夜拓轻,月不白 同行 話著無聊的愛情事 嫉妒世界被灌注靜謐 大腦里熱鬧的小人 難耐美好 我迷失在冗長...
    八爪青蛙閱讀 210評(píng)論 0 0
  • 到目前為止,我們已經(jīng)掌握了如何在Git倉庫里對(duì)文件進(jìn)行操作经伙。但并沒有真正體現(xiàn)Git的優(yōu)勢(shì)扶叉。 Git是分布式版本控制...
    Josaber閱讀 318評(píng)論 0 0