Talend数据集成:如何在所有组件中维护输入列?

时间:2016-09-15 13:19:01

标签: talend

我的输入表有3个字段 I1,I2和I3

我必须在两个表中插入这些字段。

Table1应该有来自输入字段的I1和I2,并且它具有ID作为PK列。 表2应该有I3。外键关系表1 ID。

使用talend,我在table1中插入了前两列数据(在此表输出组件中省略了I3)并且我有自动递增的ID。现在我想将ID和I3插入表格中。

但是在第二个表输出中我看不到流中的I3列,因为我们在第一步中省略了I3。

你能帮助如何获得第二个表输出组件的I3列吗?

由于

3 个答案:

答案 0 :(得分:1)

你应该能够通过一个带有2个输出的简单tMap来实现这个目的:

tDBInput --- tMap ---tDBOutput1
                  ---tDBOutput2

在tMap中,您只需选择要放入正确输出的字段。 您可以在tMap(中央面板)的“Var”部分中使用Talend序列Numeric.sequence(“s1”,1,1),并将其作为ID放在2个输出中。

答案 1 :(得分:1)

我是按照以下方式做到的......

在所有工作视图中: Over all job view

tMap设置: tMap Settings

答案 2 :(得分:0)

另一种方法是采用两步法。您可以创建两个单独的"处理线"或者在一份工作中服用。

步骤1 - l1,l2

正如@Corentin所说,第一个副作用是

tExcelInput1 -- tMap1 -- tDBOutput1 (l1, l2)

第2步 - l3

第二个子工作,可以与 tDBInput1 onSubjobOk 连接器连接,看起来像这样

tExcelInput2 -- tMap2 -- tDBOutput2 (l3)
              |--- tDBInput3, lookup ID (with l1)

现在第一个subjob将所有值添加到表1.当一切正常时,l3的所有值都在l1上使用ID查找进行处理。这适用于数据库中的自动增量字段。查找看起来只是SELECT ID FROM table1,而在 tMap 中,只需使用l3进行查找。

<强>概述

如果您更容易看到这份工作,请查看以下图片。

enter image description here

查找看起来像这样:

enter image description here