当前位置:   article > 正文

mysql数据转mongodb_mysql数据转存到mongodb

java代码百万级数据从mysql迁移至mongodb中

概述

现在比较推荐的数据存储方式是sql+nosql,而这个搭配方式中mysql+mongodb是比较流行的,所以就出现一个问题,2种数据库之间的转存如何实现,为了解决这个问题,编写了简单的转存脚本来实现。

实现思路

这个思路也很简单,就是将mysql的数据提取出来,转换成字典类型,然后存储到mongodb中。

这里推荐是一个个数据提取,如果一次性把数据全部取出,如果数据很大的话,对于内存的要求比较高。

代码实现

首先要定义一个生成器函数,来实现将mysql中的数据库提取出来并转换成字典

def mysql_info(sql):

'''

获取mysql数据的生成器

'''

try:

cursor.execute(sql)

except Exception as e:

print(e)

exit()

else:

while True:

yield dict(zip([x[0] for x in cursor.description],[x for x in cursor.fetchone()]))

finally:

cursor.close()

mysql_conn.close()

这里说下dict(zip([x[0] for x in cursor.description],[x for x in cursor.fetchone()]))。通过dict和zip函数配合可以将数据合并成字典。

cursor.description返回的是数据的表头信息。

最后的逻辑实现也就很简单了。

infos = mysql_info(mysql_command) #获取生成器

while True:

try:

info = next(infos) #获取生成器信息

print("insert [%s] to mongodb.."%info['name'])

mycoll.insert(info) #写入到mongodb中

except:

print('Done.')

break

完整代码

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/675558
推荐阅读
相关标签
  

闽ICP备14008679号