Как настроить координатора Oozie с помощью простого события ввода?

Как настроить входное событие координатора Oozie, которое может либо быть там, либо нет? Пожалуйста, заполните ??? для следующих:

<coordinator-app name="${jobName}" frequency="${coord:days(1)}" start="${startTime}" end="${endTime}" timezone="${timezone}" xmlns="uri:oozie:coordinator:0.2">
    <controls>
        <timeout>-1</timeout>
        <concurrency>30</concurrency>
        <execution>FIFO</execution>
    </controls>

    <datasets>
        <dataset name="myData" frequency="???" initial-instance="???" timezone="UTC">
            <uri-template>/time-independent/path/that/may/or/maynot/be/there</uri-template>
        </dataset>
    </datasets>

    <input-events>
        <data-in name="myInput" dataset="myData">
            <instance>???</instance>
        </data-in>
    </input-events>

    <action>
        <workflow>
            <app-path>${myAppPath}</app-path>
            <configuration>
                <property>
                    <name>myInput</name>
                    <value>${coord:dataIn('myInput')}</value>
                </property>
            </configuration>
        </workflow>
    </action>

</coordinator-app>

Спасибо, Альваро.


person Alvaro Mendez    schedule 24.01.2017    source источник


Ответы (2)


значение частоты набора данных будет ${coord:days(1)}, так как вы хотите запланировать его каждый день.

starttime будет значением, когда вы хотите запустить задание. например. 2017-01-22T12:00Z.

Итак, обновленный xml координатора будет примерно таким:

<coordinator-app name="${jobName}" frequency="${coord:days(1)}" start="${startTime}" end="${endTime}" timezone="${timezone}"
    xmlns="uri:oozie:coordinator:0.2">
    <controls>
        <timeout>-1</timeout>
        <concurrency>30</concurrency>
        <execution>FIFO</execution>
    </controls>
    <datasets>
        <dataset name="myData" frequency="${coord:days(1)}" initial-instance="${startTime}" timezone="UTC">
            <uri-template>/time-independent/path/that/may/or/maynot/be/there</uri-template>
        </dataset>
    </datasets>
    <input-events>
        <data-in name="myInput" dataset="myData">
            <instance>${startTime}</instance>
        </data-in>
    </input-events>
    <action>
        <workflow>
            <app-path>${myAppPath}</app-path>
            <configuration>
                <property>
                    <name>myInput</name>
                    <value>${coord:dataIn('myInput')}</value>
                </property>
            </configuration>
        </workflow>
    </action>
</coordinator-app>
person Nishu Tayal    schedule 24.01.2017

Можно ли определить необязательные события ввода.

Например: я определил 4 входных события.. A, B, C и D

И похоже, мы должны использовать все наборы данных

person Bharat Motwani    schedule 06.01.2020