我正在使用Pentaho數據集成(aka Kettle),我有幾個轉換,我們稱它們爲A,B,C,D,E。 B依賴於A,D依賴於C和E取決於B和D.在工作中,我想平行運行A,B和C,D:等待轉換作業
-> A -> B _
Start< \
-> C -> D----> E
其中A和C並行運行。只有在B 和 D成功時纔有執行E的方法嗎?現在,通過查看Job指標,只要B 或 D完成,E就立即執行。
我正在使用Pentaho數據集成(aka Kettle),我有幾個轉換,我們稱它們爲A,B,C,D,E。 B依賴於A,D依賴於C和E取決於B和D.在工作中,我想平行運行A,B和C,D:等待轉換作業
-> A -> B _
Start< \
-> C -> D----> E
其中A和C並行運行。只有在B 和 D成功時纔有執行E的方法嗎?現在,通過查看Job指標,只要B 或 D完成,E就立即執行。
我剛剛發現http://forums.pentaho.org/showthread.php?t=75425,它似乎不容易實現我想要的。
我相信這可以做到,但我沒有足夠大的工作來真正測試這個好,而且很尷尬。基本上,除了你的A,B,C,D和E工作之外,你還需要4個獨立的工作。我們稱之爲控制作業,作業A_B,作業C_D和並行作業。
你設置它們是這樣的:
Control Job: start -> Parallel Jobs -> E
Parallel Jobs: -> Job A_B
start< (Set Start step to run next jobs in parallel)
-> Job C_D
Job A_B: start -> A -> B
Job C_D: start -> C -> D
的關鍵是,A - > B和C - > d需要在自己的作業步驟保留了依賴。然後並行作業確保兩條平行路徑都已完成,然後才允許控制繼續執行E.