【问题标题】:SSIS - Updating destination table with the non matching rows from origin table (Using Pentaho Data Integration)SSIS - 使用源表中不匹配的行更新目标表(使用 Pentaho 数据集成)
【发布时间】:2021-10-22 08:46:23
【问题描述】:

这是我的问题:

我想在我的目标表中更新与源不匹配的行,这是一个示例:

表 A(原点)

1234 3456 4235 5664 2345 2349

表 B(目的地)

1234 3456 4235 5664 2345

如您所见,行 "2349" 是否不在目标表(表 B)中,因此 ssis(我正在使用 pentaho 数据集成)可以“说” : 嘿!查看表 A 和表 B 之间的不匹配行,然后用不匹配的行更新表 B?

【问题讨论】:

    标签: ssis etl pentaho-data-integration


    【解决方案1】:

    是的,根据您的问题描述,您希望将表 A 中不存在的行插入表 B。 您可以在一次转换中完成:

    • 通过两个表格输入步骤,您可以在其中一个步骤中选择表格 A 中的所有行,并在另一个步骤中选择表格 B 中的所有行。
    • 您添加两个对行排序步骤,每个步骤都在表格输入之后,按您要比较的列对行进行排序
    • 您添加了一个 Merge join 步骤,两个 Sort rows 步骤都将它们的数据传递给 Merge join,您定义了一个左连接,并通过要比较的列连接行,左边是行来自A表,右边是来自B表的行,所以输出是来自表A的所有行加上来自表B的满足合并条件的行的信息。
    • 您添加了一个 Filter 步骤以仅获取表 A 中的行,而不获取表 B 中的信息
    • 您使用插入表步骤将这些行插入到表 B 中。

    【讨论】:

    • 这很有帮助!!!非常感谢
    猜你喜欢
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多