【发布时间】:2020-04-17 08:24:37
【问题描述】:
在 Table_input 中,我从 MSSQL 数据库中读取数据。在 Table_input_2 我从 DB2 数据库读取数据。 在合并连接中,我将 ID 相互比较以及表中的其余属性。在过滤行中,我找到相同 ID 不同的记录。现在,我将差异写在 xlsx 文件中。 在 Table_input 和 Table_input2 中有很多记录——超过 1 亿条。差异通常是由 MSSQL 和 DB2 数据库上的查询执行时间造成的。 我希望针对返回的差异再次执行该过程。我想确定差异是由于查询完成的时间造成的。谁能给我一个提示怎么做?
【问题讨论】:
-
恐怕我们需要更多信息来回答这个问题。您能否详细说明这些步骤的作用?特别是如何合并行以及过滤器做什么?您谈到两个表中都存在的 ID 字段。我想这是一个外部 ID,而不是一个自动增量字段,对吧?如果是这样,这是一个可用于专门标识可能存在于两个表中的条目的字段吗?这又是什么意思:“通常差异是由 MSSQL 和 DB2 数据库上的查询执行时间造成的”?列的值如何依赖于某些查询的执行时间?
-
出现差异是因为数据在 DB2 和 MSSQL 中的时间不同,还是因为 Pentaho 查询花费的时间太长以至于数据已经在另一个系统中再次发生了变化?
-
是的,同时数据发生了变化。我们将数据从 MSSQL 数据库复制到 DB2 数据库。我检查了 MSSQL 源数据库和目标 DB2 之间的差异。查询需要很长时间,同时数据已经基于 MSSQL 发生了变化。因此存在差异。我希望再次完成该过程,仅针对收到的差异。
-
是 Pentaho 进行复制还是仅验证其他复制是否正确?
-
Pentaho 只检查复制是否正确
标签: pentaho data-warehouse pentaho-spoon pentaho-data-integration data-integration