我有一个Talend作业,可以在我的机器上正常运行,但在同事的计算机上给出不正确的结果。我有Talend 6.1和Java 8(更新181)。另一个人拥有Talend 7.1.1和Java 8(更新191)。
区别在于tMap可以连接5个数据流。正如我所说,这一切对我来说都是正确的。但是另一个人的设置给出了一个最终结果,该结果可能(可能)暗示其中一个联接不起作用。
您能否建议塔伦(Talend)中发生的变化可能会影响到此?
尽管很难将其分开以找出哪个连接有问题,但最有可能的候选者是这个:
该联接中的代码是这样的:
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。两者都运行时没有任何错误消息,但是给出了不同的结果。
答案 0 :(得分:0)
验证联接设置(在“ Denom”表中,单击面板右侧的图标)是否相同:在talend版本之间,默认行为不相同(我认为唯一匹配/所有匹配/所有行)
答案 1 :(得分:0)
问题已解决。差异是由Talend作业的两个版本 not 相同引起的。在此tMap之前,我的同事已经编辑了部分工作。