如何在Talend中合并两个具有相同模式的表,避免重复?

时间:2017-03-08 12:35:12

标签: etl talend talend-mdm

我有两个表TableA和TableB

TableA看起来类似于以下内容:

customerId  |  name  | email            |telephone
 -------------------------------------------------
 00001      | Anne   | anne@gmail.com   | 123456
 00002      | Ben    | ben@gmail.com    | 
 00003      | Ryan   | ryan@yahoo.com   |

TableB看起来类似于以下内容:

customerId | name   | email            | telephone
 ---------------------------------------------------
 76105      | Anne   | anne@gmail.com   | 
 89102      | Ben    | ben@gmail.com    | 567890
 23390      | Ryan   | ryan@yahoo.com   | 756541
 43769      | Abby   | abby@yahoo.com   | 890437

我正在尝试实现以下两个表格。

表C

 customerId  |  name  | email            |telephone
 -------------------------------------------------
  00001      | Anne   | anne@gmail.com   | 123456
  00002      | Ben    | ben@gmail.com    | 567890
  00003      | Ryan   | ryan@yahoo.com   | 756541

表D

 customerId  |  name  | email            |telephone
 -------------------------------------------------
  43769      | Abby   | abby@gmail.com   | 890437

我使用了一个tmap,其中TableA作为主要,而TableB作为查找。在tmap中,我使用email作为外键在TableA和TableB之间创建了一个内部联接。我将innerJoin输出写入一个表,而innerJoin拒绝另一个表。但是我发现TableC中缺少一些记录。

在Talend DI中实现这一目标的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

我认为主要和查找的选择会影响拒绝捕获,这就是你需要的:

enter image description here

  • tmap:

enter image description here

  • tFixedFlowInput:模拟您的数据
  • tLogRow:显示输出数据