Waiting for transformations in work

I work with Pentaho (aka Kettle) data integration, and I have several Transformations, let me call them A, B, C, D, E. B depends on A, D depends on C and E depends on B and D. In the task I would like to run A, B and C, D in parallel:

           -> A -> B _
    Start<            \
           -> C -> D----> E

where A and C work in parallel. Is there a way to execute E only if B & D were successful? Right now, looking at Job metrics, E starts as soon as B OR D.

+3
source share
3 answers

I just found http://forums.pentaho.org/showthread.php?t=75425 , and it seems that it is not easy to achieve what I want.

+1

, , , , . 4 A, B, C, D E. Control Job, Job A_B, Job C_D Parallel Jobs.

:

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.

0

- :

        /--=--[job]----[set var J1=1]---\ 
[start]----=--[Job]----[set var J2=1]----+--[jscriptstep]--(ok)-->[next steps]
        \--=--[Job]----[set var J3=1]---/        \
                                                 (x)
                                                   \
                                                  [Write to log]

JS :

J1= parent_job.getVariable("J1");
J2= parent_job.getVariable("J2");
J3= parent_job.getVariable("J3");
(J1*J2*J3)==1;

, , , :

": $ {J1} - $ {J2} - $ {J3} - $ {J4} - $ {J5}"

, .

0

Source: https://habr.com/ru/post/1741935/


All Articles