2017-03-17 72 views
0

我們有源文件每天都在hdfs抵達假日除外。 我們的oozie協調員每天都會觀看這些文件。我不希望oozie在定義的節假日上運行。怎麼做。如果是假期,Coodinator不應該超時。如何使假期排除的oozie時間表

+0

我現在想的一個解決方案就是每天都有一個工作流作爲第一個wf來檢查今天是否是假期(來自外部api調用,搜索假期文件)。 如果是,它會將所有工作流協調器(包)的暫停時間更新爲今天(爲了查找所有協調器,我們需要一個java api操作來收集作用域中的所有協調器/包作業),使用命令或api ,例如oozie job -oozie http:// localhost:11000/oozie -change 14-20090525161321-oozie-joe -value pausetime = 2011-12-01T05:00Z –

+0

或者,使用該額外的WF來生成一組空白文件在假期,以便文件觸發WF可以開始和做任何事情,並且重要和更新他們的狀態。照常營業。 –

+0

生成額外的文件可能無法正常工作。由於我們可能只有源文件文件夾的只讀權限。空文件也可能會觸發虛假警報 –

回答

0

一個可能的解決方案是定期運行作業,並使用節點的決策節點通過切換案例排除所有作業操作。爲了開始這個java動作,它將檢查這是否是假期,將這個值傳播給decision action,然後決定所需的動作是否會運行(oozie支持從一個動作到另一個動作的工作流中值的傳播)。對於這兩種情況中的每一種都會提供不同的消息供您確認,「今天假期需要的操作已被跳過」,否則「假期工作沒有成功」。

相關問題