Talend 数据集成:如何维护所有组件中的输入列?
Talend data Integration : How to maintain input columns in all the components?
我的输入 sheet 有 3 个字段
I1、I2 和 I3
我必须在两个 table 中插入这些字段。
Table1 应该有来自输入字段的 I1 和 I2,并且它有 ID 作为 PK 列。
Table2应该有I3。外键关系 Table1 ID。
使用 talend,我在 table1 中插入了前两列数据(在这个 table 输出组件中省略了 I3)并且我有自动递增的 ID。现在我想把ID和I3插入Table出来。
但是在第二个 table 输出中我看不到流中的 I3 列,因为我们在第一步中省略了 I3。
谁能帮忙获得第二个 table 输出组件的 I3 列?
谢谢
您应该能够使用具有 2 个输出的简单 tMap 来做到这一点:
tDBInput --- tMap ---tDBOutput1
---tDBOutput2
在 tMap 中,您只需 select 将字段放入正确的输出中。
您可以在 tMap(中央面板)的 'Var' 部分使用 Talend 序列 Numeric.sequence("s1",1,1),并将其作为 ID 放入 2 个输出中。
另一种方法是使用 two-step 过程。您可以在一个作业中创建两个单独的 "processing lines" 或子作业。
步骤 1 - l1, l2
正如@Corentin 所说,第一个子工作是
tExcelInput1 -- tMap1 -- tDBOutput1 (l1, l2)
步骤 2 - l3
第二个子作业,可以用 tDBInput1 onSubjobOk 连接器连接,看起来像这样
tExcelInput2 -- tMap2 -- tDBOutput2 (l3)
|--- tDBInput3, lookup ID (with l1)
现在第一个子作业将所有值添加到 table1。当一切正常时,l3 的所有值都通过 l1 上的 ID 查找进行处理。这适用于数据库中的 auto-increment 字段。查找看起来像 SELECT ID FROM table1
,在 tMap 中,只需使用 l3 进行查找。
概览
如果您更容易看到职位,请查看下图。
查找将如下所示:
我是按照以下方式做的...
在所有职位视图中:
t地图设置:
我的输入 sheet 有 3 个字段 I1、I2 和 I3
我必须在两个 table 中插入这些字段。
Table1 应该有来自输入字段的 I1 和 I2,并且它有 ID 作为 PK 列。 Table2应该有I3。外键关系 Table1 ID。
使用 talend,我在 table1 中插入了前两列数据(在这个 table 输出组件中省略了 I3)并且我有自动递增的 ID。现在我想把ID和I3插入Table出来。
但是在第二个 table 输出中我看不到流中的 I3 列,因为我们在第一步中省略了 I3。
谁能帮忙获得第二个 table 输出组件的 I3 列?
谢谢
您应该能够使用具有 2 个输出的简单 tMap 来做到这一点:
tDBInput --- tMap ---tDBOutput1
---tDBOutput2
在 tMap 中,您只需 select 将字段放入正确的输出中。 您可以在 tMap(中央面板)的 'Var' 部分使用 Talend 序列 Numeric.sequence("s1",1,1),并将其作为 ID 放入 2 个输出中。
另一种方法是使用 two-step 过程。您可以在一个作业中创建两个单独的 "processing lines" 或子作业。
步骤 1 - l1, l2
正如@Corentin 所说,第一个子工作是
tExcelInput1 -- tMap1 -- tDBOutput1 (l1, l2)
步骤 2 - l3
第二个子作业,可以用 tDBInput1 onSubjobOk 连接器连接,看起来像这样
tExcelInput2 -- tMap2 -- tDBOutput2 (l3)
|--- tDBInput3, lookup ID (with l1)
现在第一个子作业将所有值添加到 table1。当一切正常时,l3 的所有值都通过 l1 上的 ID 查找进行处理。这适用于数据库中的 auto-increment 字段。查找看起来像 SELECT ID FROM table1
,在 tMap 中,只需使用 l3 进行查找。
概览
如果您更容易看到职位,请查看下图。
查找将如下所示:
我是按照以下方式做的...
在所有职位视图中:
t地图设置: