軟件介紹Luigi是一款基于Python語言而開發(fā)的開源數(shù)據(jù)流框架,我們可以通過Luigi免費版來解決批處理過程相關的所有管道問題,并且還可以進行工作流管理、可視化等多種簡易操作哦! Luigi軟件簡介Luigi 是一個 Python 模塊,可以幫你構建復雜的批量作業(yè)管道。處理依賴決議、工作流管理、可視化展示等等,內(nèi)建 Hadoop 支持。它也被Foursquare,Stripe,華爾街日報,Groupon和其他知名企業(yè)使用。 Luigi是基于代碼的,而不是基于GUI或聲明式的,包含Python中的所有內(nèi)容(包括依賴關系圖)。用戶界面(UI)允許您搜索,過濾或監(jiān)視每個任務的狀態(tài)。您還可以查看該工作流程,以查看依賴關系圖上的哪些任務已完成,哪些尚未運行。 軟件功能Task 每一個任務都是一個Task,以class的形式存在,繼承l(wèi)uigi.Task。需要重載requires()、run()、output()方法。 其中requires()是任務入口程序,指定任務依賴的上游輸入;run()是任務在該節(jié)點具體實現(xiàn)的流程;output()是任務的出口,把該節(jié)點執(zhí)行完之后的結果輸出到下游。 Target 廣義地講,Target可對應為磁盤上的文件,或HDFS上文件,或checkpoint點,或數(shù)據(jù)庫等。對于Target來說,唯一需要實現(xiàn)的方法為exists,返回為True表示存在,否則不存在返回為False. 在實際應用時,寫一個Target子類是很少需要用到的。直接使用開箱即可用的LocalTarget及 hdfs.HdfsTarget類就夠用了。Luigi提供了Gzip支持,通過參數(shù)format=format.Gzip即可。 parameter parameter等效于luigi為task類創(chuàng)建構造函數(shù),Luigi中提供了不同類型的parameter,例如DateParameter,DateIntervalParameter,IntParameter,FloatParameter等等。 python不是一個靜態(tài)類型的語言,你不需要指定參數(shù)的類型,你可以直接使用基類Parameter。 |