我正在使用PDI 6和新的PDI。我创建了这两个表:
create table test11 (
a int
)
create table test12 (
b int
)我在PDI中创建了一个转换,简单,只需两个步骤

在第一步:
insert into test11 (a)
select 1 as c;在第二步:
insert into test12 (b)
select 9 where 1 in (select a from test11);我希望第二步在第一步之后执行,因此将插入值9。但是当我运行它时,没有任何东西被插入到表test12中。在我看来,这两个步骤是并行执行的。为了证明这一点,我消除了第二步,并将sql放在步骤1中,如下所示
insert into test11 (a)
select 1 as c;
insert into test12 (b)
select 9 where 1 in (select a from test11);而且起作用了。那为什么呢?我在想,一步就是一步,所以下一步会等到它完成,但不是吗?
发布于 2016-05-13 18:09:41
在PDI转换中,步骤初始化和执行并行进行。因此,如果在单个转换中有多个步骤,这些步骤将并行执行,数据移动以循环方式(默认情况下)进行。这主要是您的两个执行SQL步骤不能工作的原因,因为这两个步骤都是并行执行的。PDI乔布斯的情况并非如此。除非将作业配置为并行运行,否则作业按顺序工作。
现在,对于您的问题,您可以尝试执行以下任何步骤之一:

希望这会有所帮助:)
https://stackoverflow.com/questions/37208717
复制相似问题