首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两个版本的Talend给出了不同的结果

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

Stack Overflow用户
提问于 2018-12-11 05:15:14
回答 2查看 88关注 0票数 1

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

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

你能建议什么改变了塔伦德可能会影响这一点吗?

虽然很难将它分开来分离哪个连接是有问题的,但最有可能的选择是这个:

该联接中的代码如下:

代码语言:javascript
复制
(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。两次运行都没有任何错误消息,但结果不同。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-13 05:51:19

问题解决了。造成这种差异的原因是塔伦德工作的两个版本不相同。在这个tMap之前,我的同事已经编辑了部分工作。

票数 0
EN

Stack Overflow用户

发布于 2018-12-11 16:28:14

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53717766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档