我有一个Talend作业,在我的机器上运行良好,但在同事的计算机上给出了不正确的结果。我有Talend 6.1和Java 8(更新181)。另一个人拥有Talend 7.1.1和Java 8(更新191)。
不同之处在于连接5个数据流的tMap。就像我说的,这一切对我都是正确的。但是,另一个人的设置给出了(可能)暗示其中一个联接不起作用的最终结果。
你能建议什么改变了塔伦德可能会影响这一点吗?
虽然很难将它分开来分离哪个连接是有问题的,但最有可能的选择是这个:

该联接中的代码如下:
(Church.Name == null || Church.Name.length() == 0
|| Church.Denomination__c == null || Church.Denomination__c.length() == 0)
? ""
: Church.Denomination__c.toUpperCase().contains("ANGLICAN")
? "Anglican"
: Church.Denomination__c.toUpperCase().contains("APOSTOLIC")
? "Apostolic"
: Church.Denomination__c.toUpperCase().contains("Catholic")
? "Catholic"
: Church.Denomination__c.toUpperCase().contains("CHURCHES OF CHRIST")
? "Church of Christ"
: Church.Denomination__c.toUpperCase().contains("CHURCH OF CHRIST")
? "Church of Christ"
: Church.Denomination__c.toUpperCase().contains("UNITING")
? "Uniting Church of Australia"
: Church.Denomination__c 稍后编辑:为了进一步测试,我替换了复杂的代码,这样连接现在是一个简单的链接,在一个表中使用Church.Denomination__c来匹配下一个表中的键字段。同样的问题还在继续:使用Talend 6.1在我的机器上工作,而在我同事的机器上使用Talend 7.1工作。在他的机器上,所讨论的联接永远不会找到任何匹配项(因此将一个空值传递给下一个联接)。正如我在注释中所指出的,我们已经反复检查了两台机器上tMap的数据输入是否相同,以及tMap中的连接参数在两台机器上是否相同。
FWIW,作业是用Talend 6.1在我的机器上创建的。我输出了整个工作,我的同事把这份工作导入了他的Talend7.1。两次运行都没有任何错误消息,但结果不同。
发布于 2018-12-13 05:51:19
问题解决了。造成这种差异的原因是塔伦德工作的两个版本不相同。在这个tMap之前,我的同事已经编辑了部分工作。
发布于 2018-12-11 16:28:14
验证连接设置(在“Denom”表中,单击面板右侧的图标)是否相同:在talend版本之间,默认行为与我认为的不同(唯一匹配/所有匹配/所有行)
https://stackoverflow.com/questions/53717766
复制相似问题