比较不同服务器上2个不同数据库之间数据的最佳方法

时间:2015-07-23 17:16:20

标签: validation hadoop db2 rdbms

我们正在将数据从DB2数据库迁移到Hadoop。迁移实际上在DB2上运行select * from table1,将其导出到分隔文件,获取该文件并将其放入Hadoop。 DB2和Hadoop驻留在不同的服务器上,不同的网络上。我们需要运行一些验证步骤,以确保从DB2中提取的数据完全已导入到Hadoop。因此,仅在两个系统上运行select count(1) from table1都无济于事,因为我们可能会遇到由于特定字符问题(e.x.newline等)而无法导入某些列值的情况。

在两个系统上以编程方式测试数据的最佳方法是什么?

P.S:Hadoop和DB2都在RHEL上运行,因此如果可以包含任何对此过程有帮助的Linux专用工具。

1 个答案:

答案 0 :(得分:0)

不确定这是否是最好的"方式,但我的方法是:

  1. 正如之前的海报之一所建议的那样,将数据从Hadoop导出到分隔文件,并针对DB2导入文件运行diff。这可能是最简单的方法。

  2. 编写一个简单的实用程序,它同时连接两个数据库,从两个表中提取数据进行比较,并比较结果集。谷歌搜索了一下,似乎已经有一些实用程序 - 例如http://www.dbsolo.com/datacomp.html

  3. 希望这会有所帮助。