liteflow整體分為兩個模塊,控制臺以及執行者;其中控制臺負責任務的關系以及執行的調度,執行者負責任務的具體執行??刂婆_中主要的功能圍繞在任務以及任務流。
一、主要功能介紹
1.任務
1)任務創建需要根據任務的周期(分、時、天等)來設置,同時需要指定任務執行的cron表達式;其中任務周期是用來任務上下游間關聯的依據,例如用來計算一周的pv總量(即上游任務為天,下游任務為周),這時會依據周期,下游任務會自動關聯上上游任務周一到周日的任務,只有上游的七個任務都執行成功后下游才會執行,這樣就能保證數據不會出現漏掉的情況
2)選擇任務運行的插件,即任務執行類型(hive、Python、shell等),任務的執行插件主要是執行者來實現,通過容器、插件、任務詳情來實現任務的執行,這個后續會有具體介紹
從表單中可以看出,任務需要指定是否可以并發,并發指的是同一時間同一個任務的不同任務版本是否可以同時運行,如果為否,需要指定運行策略。1)忽略:即忽略正在運行的任務,將其設置為成功狀態,然后當前任務版本再執行,這種情況適合任務運行一次和多次沒有區別的情況,例如統計統計某網站當天的pv數時。2)等待:需要等待上一個任務版本執行完成后,再執行當前任務,這種情況適合任務執行以來上一次任務執行后產生的數據,例如統計每個小時環比變化數據時。
二、任務流
1.創建任務流
在大數據ETL相關工作中,需要依賴任務流來保證各種數據層的計算,也就是我們現在提到的任務流,任務流的核心是DAG原理來保證任務的按一定的規則來運行,任務流創建后,需要將已添加的任務通過圖形界面建立好關聯
1)通過圖形界面編輯任務流
通過將鼠標在任務節點上右鍵可以添加任務,來實現任務的上下游關系
2)任務流修復
在日常工作很多情況下需要對任務進行再一次修復,通過圖形界面可以實現任務流中所有任務、從某個節點、僅某個任務的修復;任務流的修復會根據主節點任務來完成數據的展示,依據主節點任務的任務版本以及任務流中任務關系來完成某個版本下任務流下的任務實例關系
總結:
liteflow整個的核心其實是通過任務流來保證各個任務按照DAG的關系實現任務的順序執行,以保證每個任務對應能夠在上游任務數據ready的前提下再去執行,從而保證數據的一致性






