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

How to merge two tables with same schema in Talend avoiding duplicates?

我有两个 tables TableA 和 TableB

表 A 类似于以下内容:

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

我正在努力实现以下 2 tables。

表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 输出写到一个 table,而 innerJoin 拒绝另一个。但是我发现 TableC 中缺少一些记录。

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

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

  • 地图:

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