首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在从tMySqlOutput捕获被拒绝的行的同时加快数据传输?

如何在从tMySqlOutput捕获被拒绝的行的同时加快数据传输?
EN

Stack Overflow用户
提问于 2019-06-13 12:48:55
回答 2查看 323关注 0票数 2

我正在将数据从一个模式中的表传输到另一个模式中的表。我还需要记录在进程中被拒绝的行,因为其中一个原因,例如,非空失败的约束。

当我将拒绝链接与输出组件连接在一起时,传输速度急剧下降到每秒2-3行。另一方面,没有拒绝链接,我可以使用“扩展插入”选项,速度提高到每秒400行。

如何在不影响性能的情况下捕获被拒绝的行?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-14 07:58:39

我同意@Corentin上面建议的方法。我用同样的想法为我的问题找到了一个有效的解决方案。我不是让DB在打破约束的情况下为每一行返回一个错误,而是在Talend中检查拒绝,使用包含与目标表完全相同的模式的组件tSchemaComplianceCheck,&从该组件执行拒绝链接。

票数 0
EN

Stack Overflow用户

发布于 2019-06-14 07:31:18

在我看来,没有完美的选择:在您的情况下,我认为最好的做法是在插入之前捕获空字段,将一个tMap放在tDBOutput之前:在输出上可以有一个过滤器("row.field1不是null"),还有一个专门用于输出拒绝的输出。这样您就可以获得被拒绝的数据,并且仍然使用扩展的insert来获得更好的性能。

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

https://stackoverflow.com/questions/56580892

复制
相关文章

相似问题

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