比较两个表的 xml [PENTAHO]

Posted

技术标签:

【中文标题】比较两个表的 xml [PENTAHO]【英文标题】:Compare xml of two tables [PENTAHO] 【发布时间】:2021-03-29 05:21:40 【问题描述】:

你知道如何在 pentaho 中做这样的事情吗? 我有两张桌子。第一个表是 mssql 中的源表,第二个是 db2 中的目标表。 在第一个表中,我有类型为 xml 的列。我们提供第二个表这个数据第二个表。其次,我还有 XML 列。我想在pentaho中比较第二个表中的xml值是否对应于第一个表中的值。

【问题讨论】:

要找到匹配的行,您可以使用带有字段 xml 的 MargeJoin。如果你告诉我如果 xml 值匹配你想要什么,如果值不匹配你想要什么,那么很容易给你一个解决方案。 我希望它对匹配 xml 不做任何事情,对于不匹配的,它会将记录的 ID 写入文件,以便知道哪条记录是不同的。我只是想知道它是否会有效,例如假设表有 1000 条记录 【参考方案1】:

您可以结合使用“Multiway merge join”和“Switch/Case”步骤从源数据中获取不匹配的 id。我已经为你准备了一个SOLUTION。您可以从这里获得帮助。

这里

    从 MSSQL 和 DB2 获取表输入 将两个表数据与条件 source.XML=destination.xml 与 FULL JOIN 合并 仅当 ID 在目标表中不可用时使用 SWITCH/CASE 获取源 ID 选择 ID 并写入文本文件

【讨论】:

以上是关于比较两个表的 xml [PENTAHO]的主要内容,如果未能解决你的问题,请参考以下文章

ETL工具kettle基本使用

在 pentaho (kettle) 中合并属性

使用 StAX / Kettle (Pentaho) 读取 XML 文件

如何使用 Pentaho 验证一个 csv 数据与另一个 csv 文件的比较?

XPath 使用从 XML 获取数据 - Pentaho

合并行(差异)是逐行比较,而不是一行与其他表的整行