Merge 合并加入Pentaho问题

Merge 合并加入Pentaho问题,merge,pentaho,pentaho-spoon,Merge,Pentaho,Pentaho Spoon,我有一个问题: 我在A和B中有两个源,还有一个合并连接步骤(在内部选项中)。 这张图片显示了我所面临的问题 我得到了正确的标识符,但每个标识符的最后一行值重复n次 我需要从B获取A中存在的所有标识符 我知道也有这些选项:数据库连接和数据库查找,但考虑到我有很多数据要检查,它们可能有点慢 我应该使用什么组件来获得Pentaho中的预期结果 问候。我无法复制该问题 更可能的错误是 输入流未排序 第一步(主步)和第二步(从步)切换 按键不正确(点击下拉框很快发生) 现在,我认为您的目标是从B中筛选出

我有一个问题:

我在A和B中有两个源,还有一个合并连接步骤(在内部选项中)。 这张图片显示了我所面临的问题

我得到了正确的标识符,但每个标识符的最后一行值重复n次

我需要从B获取A中存在的所有标识符

我知道也有这些选项:数据库连接和数据库查找,但考虑到我有很多数据要检查,它们可能有点慢

我应该使用什么组件来获得Pentaho中的预期结果


问候。

我无法复制该问题

更可能的错误是

  • 输入流未排序
  • 第一步(主步)和第二步(从步)切换
  • 按键不正确(点击下拉框很快发生)
  • 现在,我认为您的目标是从B中筛选出A中没有标识符的所有行。我建议反向操作:对于B的每一行,您在A中查找标识符,然后筛选出A中没有找到的标识符

    一般来说,首选查找步骤。它比SQL连接更快,更接近人类的思维方式

    如果需要为每个输入行获取多个记录,则使用合并联接(并对输入流进行排序)


    如果出于性能原因可以加入和查找数据库,请避免

    您使用的是内部联接,而您应该使用左外部联接。我制作了一个KTR,按照您描述的方式馈送2个数据网格,我得到了您想要的结果

    我确实使用了排序行步骤,在合并联接步骤之前,对两个流上的ID进行排序。

    我想您在合并加入之前没有对传入数据进行排序。 下面是一段视频,解释了如果在Pentaho中合并加入之前没有对传入数据进行排序会发生什么


    链接:

    Hi@AlainD感谢您的重播。我需要的是只从B获得A中存在的寄存器,并且A中的数据已经被分类。A图片被添加到响应中。对于来自B的每一行,使用
    Identifer=Identifier
    从AA行中查找名为
    的步骤,并返回名为
    Identifier
    的字段,您可以从A
    中重命名该字段(不要忘记指定其类型)。然后用
    从A=null
    中筛选出行。当然可以。通常,水壶的问题不是知道它是否能做些什么,而是你能设法让它做你想让它做的事吗。顺便说一句,如果有效的话,接受答案。欢迎来到stackoverflow。带有外部URL的简短回答被认为是低质量的,因为外部URL的内容可能会更改或中断。最佳做法是在答案中包含链接的关键细节。请查看并更新您的帖子。