Talend的两个版本给出不同的结果

时间:2018-12-11 05:15:15

标签: java talend

我有一个Talend作业,可以在我的机器上正常运行,但在同事的计算机上给出不正确的结果。我有Talend 6.1和Java 8(更新181)。另一个人拥有Talend 7.1.1和Java 8(更新191)。

区别在于tMap可以连接5个数据流。正如我所说,这一切对我来说都是正确的。但是另一个人的设置给出了一个最终结果,该结果可能(可能)暗示其中一个联接不起作用。

您能否建议塔伦(Talend)中发生的变化可能会影响到此?

尽管很难将其分开以找出哪个连接有问题,但最有可能的候选者是这个:

enter image description here

该联接中的代码是这样的:

T = []
for a in range(5):
    for b in range(5):
        for c in range(5):
            T.append([a, b, c])

以后的编辑:为了进一步测试,我替换了该复杂代码,以便现在使用一个表中的(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 来匹配该联接,以匹配下一个表中的关键字段。表。仍然存在相同的问题:在使用Talend 6.1的计算机上可以使用,但不能在使用Talend 7.1的同事计算机上使用。在他的机器上,有问题的联接永远找不到任何匹配项(因此将空值传递给下一个联接)。正如我在评论中指出的那样,我们已经仔细检查了输入到tMap的数据在两台计算机上是否相同,以及tMap中的连接参数在两台计算机上是否相同。

FWIW,作业是在我的计算机上使用Talend 6.1创建的。我导出了整个工作,我的同事将工作导入了他的Talend 7.1。两者都运行时没有任何错误消息,但是给出了不同的结果。

2 个答案:

答案 0 :(得分:0)

验证联接设置(在“ Denom”表中,单击面板右侧的图标)是否相同:在talend版本之间,默认行为不相同(我认为唯一匹配/所有匹配/所有行)

答案 1 :(得分:0)

问题已解决。差异是由Talend作业的两个版本 not 相同引起的。在此tMap之前,我的同事已经编辑了部分工作。