使用python将SQLServer表数据同步至mongoDB库
0
由于业务需求,需要使用python将SQLSERVER数据库表中的数据同步至mongoDB库;
说明:1.同步数据包含insert、update、delete3个步骤;3个动作都需要满足;
2.表中有约>1000W条数据,字段相对较多,个别表字段超过500个;
3.源头表中有时间戳字段,每次可以按时间戳去更新或插入,但是不能删除,暂时还没想到比较好的办法;
4.一次执行条数太多,故考虑到使用top每次处理多少条然后循环去处理,预计这样操作需要对源头数据进行排序,可能会影 响到效率;
求助原因:
由于我才接触mongoDB,本来是使用kettle去做同步的,但是效率太低,故公司要求用python去实现;但是本人又没搞过Python,实在是搞的头大;来个大神帮忙解决下小弟的问题吧,甚谢!
直接插入的脚本我写出来了,但是没考虑到update、delete ,由于对mongoDB、Python都不熟悉,感觉非常难实现;
下面我把实现的inset脚本贴出来,麻烦大神给修改下;谢谢!
说明:1.同步数据包含insert、update、delete3个步骤;3个动作都需要满足;
2.表中有约>1000W条数据,字段相对较多,个别表字段超过500个;
3.源头表中有时间戳字段,每次可以按时间戳去更新或插入,但是不能删除,暂时还没想到比较好的办法;
4.一次执行条数太多,故考虑到使用top每次处理多少条然后循环去处理,预计这样操作需要对源头数据进行排序,可能会影 响到效率;
求助原因:
由于我才接触mongoDB,本来是使用kettle去做同步的,但是效率太低,故公司要求用python去实现;但是本人又没搞过Python,实在是搞的头大;来个大神帮忙解决下小弟的问题吧,甚谢!
直接插入的脚本我写出来了,但是没考虑到update、delete ,由于对mongoDB、Python都不熟悉,感觉非常难实现;
下面我把实现的inset脚本贴出来,麻烦大神给修改下;谢谢!
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
4 个回复
桦仔 - SQL Server 专家 2016-04-28 回答
赞同来自:
sumerian - 胃口小,不贪心。 2016-05-01 回答
赞同来自:
是否可以考虑使用cdc捕获变更,每天定时读取日志来处理呢。
路过学习学习。
牟瑞 - 大数据 Hadoop 讲师 Hadoop入门课程地址:http://www.hellobi.com/course/39 有架构师,技术总监,CTO的职位请联系我! 2016-05-02 回答
赞同来自:
2.启动Python脚本
CDC里面是有标志位标识当前的记录是insert还是delete,update的话,是先delete再insert,因此只需要关注两种状态,insert和delete就可以。即使你有1000W+的表数据,在一个周期内,比如10分钟内,增量变更的数据量是很小的。
3.代码编写的过程中,注意mongodb是支持批量操作的,尽量批量操作。
间接原因 2016-05-09 回答
赞同来自: