как я могу написать работу oozie в зависимости от успеха другой работы?

Мой сценарий: у меня есть отправка искры, которая выполняется через сценарий оболочки, эта искровая задача доставит 7 таблиц из оракула в улей. у меня есть другой скрипт, который будет генерировать файлы .dat на основе импортированных данных из оракула.

Мой вопрос здесь: есть ли шанс в oozie, где, если первая работа будет успешной, должна работать только вторая работа. Пожалуйста, спросите, если у вас есть какие-либо сомнения в вопросе.

заранее спасибо


person roh    schedule 31.10.2016    source источник


Ответы (1)


Вы можете построить зависимость в Oozie. Пожалуйста, найдите ниже псевдокод:

<workflow-app xmlns="uri:oozie:workflow:0.5" name="MYsimpleWF">
 <global>
  ...
</global>  
<action name=" ShellAction ">
    <shell>
        ...
        <exec>${EXEC}</exec>
        <argument>A</argument>
        <argument>B</argument>
        <file>${EXEC}#${EXEC}</file> 
    </shell>
<ok to="SecondJOB"/>
<error to="fail"/>
</action>
<action name="SecondJOB">
<shell xmlns="uri:oozie:shell-action:0.2">
  ...
</shell>
<ok to="success"/>
<error to="fail"/>
</action>
<end name="done"/>
</workflow-app>
person Arvind Kumar    schedule 31.10.2016
comment
Как приведенный выше ответ удовлетворяет зависимости? если первое задание не удается, оно все равно попытается запустить второе задание, верно?? - person roh; 31.10.2016
comment
В коде ‹ok to=SecondJOB/› ‹error to=fail/› - person Arvind Kumar; 01.11.2016
comment
Если первое задание завершится неудачно, оно не вызовет второе задание, оно выйдет. В случае успеха он продолжит работу по совместительству. - person Arvind Kumar; 01.11.2016
comment
Хорошо, но есть ли что-нибудь, что я могу запустить, используя какое-то условие переключения? - person roh; 02.11.2016
comment
Узи создает DAG. Единственный способ перейти от одного блока к другому - это то, как описал @Arvind Kumar. У Oozie есть оператор switch. Вы можете найти его здесь: oozie.apache.org/docs/4.2.0/WorkflowFunctionalSpec< /а> - person Crackerman; 03.11.2016