내 사용 사례에서 코디네이터 조치의 출력은 다음 반복에서 사용되므로 하나가 실패하면 미완료/손상된 데이터가 다음 코디네이터 조치로 공급됩니다.코디네이터 작업이 실패 할 경우 Oozie 코디네이터를 일시 중단하는 방법?
코디네이터 작업의 워크 플로 단계 중 하나가 실패하면 Oozie 코디네이터를 일시 중단 할 수 있습니까?
대신 예를 들어 출력이 다음 코디네이터 작용에 의해 덮어 쓰기되기 전에
<action name="Delete_TMP_Files">
<fs>
<delete path='${outputPath}*'/>
</fs>
<ok to="End"/>
<error to="Suspend"/>
</action>
그래서 오류가 진단 할 수 있습니다 :
<action name="Delete_TMP_Files">
<fs>
<delete path='${outputPath}*'/>
</fs>
<ok to="End"/>
<error to="Kill"/>
</action>
우리가 뭔가를 할 수 있습니까?
PS : fs> delete는 실제 사용 사례가 아니며 단지 예입니다.
"일시 중단"동작이 무한 루프가있는 쉘 동작 인 경우 (예 : 'while [[1-eq 1]]; 1 시간 자고; done "- 그러면 워크 플로가 효과적으로 중단됩니다. 코디네이터 ' 1 concurrency>'옵션을 사용하면 코디네이터가 멈추게됩니다. 그러나 실행 중에 Workflow가 종료되는 경우를 파악할 수 없습니다. –
당신은 또한 워크 플로우의 마지막 액션에서 Pig 나 Spark do처럼 일종의'_SUCCESS' 세마포어를 생성 할 수 있습니다. 코디네이터가'' 절을 사용하여 그 세마포어를 기다리게하십시오; 다음 워크 플로우 실행의 첫 번째 조치는이를 삭제하는 등의 작업을 수행합니다. 하지만이 "데이터 셋"조항은 복잡해 보입니다.이 게시물은 https://github.com/yahoo/oozie/wiki/Oozie-Coord-Use-Cases –