锁定老帖子 主题:java两表大数据量明细对比问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2013-11-16
xukunwzq 写道 须等待 写道 同意2楼的看法,既然连对账的规则都不一样,是没有办法做到很简单的来对账的,这和业务的相关性太大
建议把每种对账规则封装成一种服务,尽可能重用,至于底层的数据,还是保留源数据 是的,根据对账规则可能是要做全量匹配循环的,数据库处理 基本上是不行了,有的规则索引是不起作用的,现在的想法是牺牲内存, 将两边数据分成很多对进行处理,然后错开再比对,如 1-1 2-2 .... 再 1-2 2-3 ... 比对成功的数据就去除掉,A方所有份数据和比方比对完之后就结束任务。 内存量很大也是个很头疼的问题。也想用redis来做缓存数据存储,但是比对还是得把数据捞到应用上处理,内存也节省不了多少 对账的话,应该是可以理解为多列多规则的连接查询吧,如果你们数据增量不大的话,还是可以考虑用redis做内存数据库,然后所有的对账都走内存来做,这样只在内存保留一份数据,可行性上比较高,反正你这是离线的分析,所以时间上应该不是问题。 如果数据增量大的话,还是建议上Hadoop吧,多列多规则的连接,本身和Hadoop、M-R的计算模型还是比较相似的,算是一劳永逸的解决方案。 |
|
返回顶楼 | |