我有这个问题:
我在A和B中有两个来源和一个合并加入步骤(在INNER选项中)。 图像显示了我面临的情况。
我获得了正确的标识符,但最新行的值为每一行重复了n次。
我需要从A中获取B中的所有标识符。
我知道还有这些选项:数据库加入数据库查找,但考虑到我需要检查大量数据,它们可能会很慢
我应该使用什么组件来获得Pentaho中的预期结果。
问候。
答案 0 :(得分:2)
我无法复制这个问题。
更可能的错误是
现在,我认为你的目标是从B中过滤出标识符不在A中的所有行。我建议反转流程:对于B的每一行,你在A中查找标识符,然后过滤掉标识符在A中找不到。
作为一般规则,更喜欢LookUp步骤。它比SQL连接更加快速,更接近人类的思维方式。
如果您需要为每个输入行抓取多个记录,请使用Merge Join(并对输入流进行排序)。
出于性能原因,请避免使用数据库Join和Lookup。
答案 1 :(得分:0)
当您使用LEFT OUTER时,您正在使用INNER JOIN,我使KTR按照您描述的方式提供2个数据网格,并且我得到了您想要的结果。
答案 2 :(得分:-1)
我认为您尚未在合并联接之前对传入的数据进行排序。 这是一段视频,说明如果在Pentaho中合并联接之前不对传入数据进行排序,会发生什么情况。