验证—比较不同服务器上两个不同数据库之间数据的最佳方法

h7appiyu  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(416)

我们正在将数据从db2数据库迁移到hadoop。迁移确实正在运行 select * from table1 在db2上,将其导出到一个分隔文件,获取该文件并将其放入hadoop。db2和hadoop驻留在不同的服务器、不同的网络上。我们需要运行一些验证步骤,以确保从db2提取的数据已经完全导入hadoop。所以,只是跑步 select count(1) from table1 在这两个系统上都没有帮助,因为我们可能会遇到由于特定字符问题(例如换行符等)而无法导入某些列值的情况。
以编程方式测试两个系统上的数据是否相同的最佳方法是什么?
p、 s:hadoop和db2都运行在rhel上,所以如果有任何linux特定的工具可以在这个过程中提供帮助的话。

gwo2fgha

gwo2fgha1#

不确定这是否是“最佳”方式,但我的方法是:
正如前面的一篇文章所建议的,将数据从hadoop导出到一个分隔文件,并对db2导入文件运行diff。这可能是最简单的方法。
编写一个简单的实用程序,它可以同时连接到两个数据库,从两个表中提取数据进行比较,并比较结果集。谷歌搜索了一下,似乎已经有了一些实用程序——例如http://www.dbsolo.com/datacomp.html.
希望这有帮助。

相关问题