Talend 比较两个文件并保留两个文件不通用的条目

Talend 比较两个文件并保留两个文件不通用的条目,talend,Talend,我有一个CSV文件和一个数据库表作为输入。我需要保留数据库表中的所有记录,但不包括CSV文件中的记录。最后,所有这些都会写入CSV文件 我所有的尝试都产生了数百个副本,因此我在这里遇到了挑战。这是一个快速而肮脏的把戏,但它应该适合您的需要 将数据库和CVS输入连接到TMap-使用DB作为主连接,使用CSV作为查找。比如: tMySqlInput---->Main--->tMap---out---->tFileDelimitedOutput

我有一个CSV文件和一个数据库表作为输入。我需要保留数据库表中的所有记录,但不包括CSV文件中的记录。最后,所有这些都会写入CSV文件


我所有的尝试都产生了数百个副本,因此我在这里遇到了挑战。

这是一个快速而肮脏的把戏,但它应该适合您的需要

将数据库和CVS输入连接到TMap-使用DB作为主连接,使用CSV作为查找。比如:

tMySqlInput---->Main--->tMap---out---->tFileDelimitedOutput
                         ^
                         |
                         |
                       Lookup
                         |
                         |
                  tFileDelimitedInput
在tMap中,像往常一样映射联接列。单击查找映射区域正上方的扳手,并将连接类型设置为内部连接。确保“匹配模型”未设置为“全部”,以避免交叉联接。然后,创建“输出”输出连接。最后,单击此连接的扳手并将“Catch lookup internal join reject”设置为
true


在“out”(即输出文件)时,您将只拥有数据库中不匹配的行。根据您的数据,您可能需要在tFileDelimitedOutput之前添加一个tAggregateRow,以最终清除重复项。

谢谢您的帮助!:)我只是注意到了这一点,但看起来这只会在一个地方显示丢失的记录,而不会在另一个地方显示。您需要交换输入和查找,然后合并输出以获得双向差异。