gpt4 book ai didi

java - 如何在Pentaho数据集成(Kettle)中返回不匹配的行?

转载 作者:行者123 更新时间:2023-12-01 11:31:03 26 4
gpt4 key购买 nike

我正在寻找一个在 Pentaho Data Integration 中执行 SSIS 查找的解决方案。我将尝试用一个例子来解释:我有两张表A和B。这里,表A中的数据:12345这里,表B中的数据:34567经过我的处理:A 中而不是 B ==> 中的所有行都将插入到 BB 中且 A 中不存在的所有行 ==> 将被删除到 A所以,这是我的最终表 B:34512有人可以帮助我吗?

最佳答案

确实有一个步骤可以做到这一点,但它不能单独完成。这是Merge rows(diff) 步骤,它有一些要求。在您的例子中,A 是“比较”表,B 是“引用”表。

首先,两个输入(在您的情况下来自 A 和 B 的行,在我的情况下来自 Dev 和 Prod)都需要按键值排序。在此步骤中,您指定要匹配的关键字段,然后指定要比较的值字段。该步骤向输出添加一个字段(默认情况下称为“flagfield”)。比较每一行后,该字段将被赋予四个值之一:"new"、“已更改”、“已删除”或“相同”。请注意,在下面的示例中,我有明确的排序步骤。这是因为我的数据库的排序方案与 PDI 不兼容,并且要使此步骤起作用,您的数据必须采用 PDI 的排序顺序。您可能不需要这些。

您可以在此之后执行合并后同步步骤来应用已识别的更改。在此步骤中,您指定标志字段以及与插入、更新和删除相对应的值。仅供引用,这些是在“高级”选项卡上指定的,必须填写它们才能使该步骤发挥作用。

对于像您的示例这样的非常小的表,我倾向于使用表输出步骤进行截断和完全加载,但是如果您的表很大并且更改数量相对较小(<= ~25%)并且复制不可用,通常需要执行此步骤。

enter image description here

关于java - 如何在Pentaho数据集成(Kettle)中返回不匹配的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30373130/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com