在工作等着转换

问题描述 投票:3回答:3

我与Pentaho的数据集成(又名水壶)工作,我有几个转变,让我们称他们为A,B,C,d,E B依赖于A,d取决于C和E依赖于B和D.在工作我想运行A,B和C,d平行:

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

其中A和并联C运行。有没有什么办法来进行E只有当且仅当b和d是成功的?眼下,看着工作指标,E,即会为B或d完成后执行。

pentaho kettle
3个回答
1
投票

我刚刚发现http://forums.pentaho.org/showthread.php?t=75425而且好像这不是轻易能够达到我想要的。


1
投票

你可以这样做:

        /--=--[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
投票

我相信这是可以做到的,但我没有工作不够大,真正测试这口井,它的尴尬。基本上,你需要在另外4个独立工作至A,B,C,d,和E的工作。让我们把他们控制作业,作业A_B,工作C_D和并行作业。

你设置它们是这样的:

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.前完成

© www.soinside.com 2019 - 2024. All rights reserved.