2016-07-26 51 views
0

由于从RDBMS(oracle/teradata)到HDFS(HIVE)的数据迁移,要求比较从RDBMS到HIVE数据集的完整数据集,据我所知,从RDBMS/HIVE是一个很大的网络开销,但这是要求,我已经在eclipse中开发了一个基本的java框架,它将采用源和目标查询(有限的行),然后通过获取RDBMS和HIVE resulsets进行并排比较,它更全面的验证我要比较两个系统的密钥并为您在这两个系统中重复,这里是我试过至今的事情:Java中两个异构系统的数据验证

  1. 初始化了两个用于RDBMS的HashMap和一个用于HIVE的HashMap,然后将PK作为数组中的关键和非关键属性值。现在有两个hashmaps试图比较它之间的键/值。但是将两个结果集和hashmaps加载到RAM中会降低性能。

  2. 试图使用REDIS内存数据库来存储密钥/值对,但是因为我试图通过Java程序访问REDIS不确定如何使用REDIS hashmaps/hashsets我们在JAVA中使用的方式。

  3. 将结果集写入两个不同的文本文件,但写入文件和读取/处理过程非常耗时。

对于来自RDBMS我做的事情的数据读取部分提到herehere 我想有可能这个工作的一些工具,但我试图开发开源的东西。

回答

0

您的数据是否有时间戳或任何可用于排序数据的增加值,或者一个数据源中是否有一个重复元素位于其他源中的任何位置?如果有什么要订购数据(如时间戳),您可以使用任何类型的流媒体系统,“简单”可以执行不同的选择。但是,有关您正在使用的数据类型需要更多信息。