首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理海量数据

处理海量数据
EN

Stack Overflow用户
提问于 2013-03-12 03:18:46
回答 1查看 172关注 0票数 0

我正在开发一个在一些系统上做DB交互的接口。作为我工作的一部分,我应该查询源数据库,调用一些过程,获取引用游标中的数据,并填充目标数据库。

由于数据量可能很大,因此我在目标数据库上使用多线程来调用该过程。对于ex,如果应该加载的条目总数是100万,那么在目的地db上,该过程被调用例如10次,每个具有100K个记录。

这种布置工作得很好,除非源db处的数据量很大(例如超过200万个条目)。我已经设置了大约20 GB的堆空间来处理记录,但是我的程序由于堆内存错误而失败。

我想知道是否有一种方法可以以并行模式从源数据库中查询数据(例如,假设从源存储过程中总共获取了200万条记录,那么我的程序应该首先获取这条记录的一个子集,然后再转到下一个或类似的地方)。

我提出的解决方案之一是通过db端以这种方式发送记录,但我想知道是否有更好的替代方案。请给出建议

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-25 01:33:11

我找到了解决这个问题的办法。Spring API中的BeanPropertyRowMapper类需要扩展,您需要覆盖mapRow方法。当准备好获取数据时,将调用mapRow方法。您可以在此阶段应用某种批处理机制。请注意,我发布了这个问题,因为数据是使用存储过程获取的,输出是以引用游标的形式出现的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15346761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档