MySQL数据导入到Mongo
背景:如题干所述,需要将一份数据导入到mongo数据库,减少项目依赖的数据源。
解决方案:
使用mongo自带的mongoimport工具。
首先在test库里创建一个空集合:【import_test】,起初用的导入指令如下:
[root@localhost mongodb]# ./bin/mongoimport --host 192.168.104.178: -u adminuser -p --authenticationDatabase=admin -d test -c import_test --fields=userid,serial,create_time --type csv -file csvToMongo.csv
--11T18::07.075+ connected to: 192.168.104.178:
--11T18::07.083+ imported documents
指令讲解:
- --authenticationDatabase:测试集群使用了身份验证,需要在admin库里登陆后,才能操作
- -d:集合所在的库
- --fields:集合中的字段名
结果发现mongo的字段不能正常被创建,如下

只能换一种方式进行导入,后来发现将字段名称写到文件后,再导入就不会有问题,具体如下:
[root@localhost mongodb]# cat myfields.txt
userid
serial
create_time
myfields文件中保存了这三个字段,每行一个,然后执行导入命令:
[root@localhost mongodb]# ./bin/mongoimport --host 192.168.104.178: -u adminuser -p --authenticationDatabase=admin -d test -c import_test --fieldFile myfields.txt --type csv --file csvToMongo.csv
--11T18::06.894+ connected to: 192.168.104.178:
--11T18::06.903+ imported documents
结果如下:

最后贴上测试用的csv数据:
[root@localhost mongodb]# cat csvToMongo.csv
,,-- ::
,,-- ::
,,-- ::
,,-- ::
,,-- ::
,,-- ::
,,-- ::
,,-- ::
,,-- ::
,,-- ::
,,-- ::
,,-- ::
,,-- ::
,,-- ::
,,-- ::
注意:最后的最后,我终于知道为什么字段名不正常了,和mongo的指令无关,只是第一个指令最后一个参数写的有误,file前面只有一个横杠“-”,如果写两个横杠,也一样有正确的结果,哈哈哈
./bin/mongoimport --host 192.168.104.178:17017 -u adminuser -p 112233 --authenticationDatabase=admin -d test -c import_test --fields=userid,serial,create_time --type csv --file csvToMongo.csv
说完了。
补充一个json文件的导入指令
./bin/mongoimport --host 192.168.104.178:17017 -u adminuser -p 112233 --authenticationDatabase=admin --drop -d test -c session_info --file jsonToMongo.json -j 10
-j,多线程跑,可以自定义
--drop,导入之前先清空表里所有数据
MySQL数据导入到Mongo的更多相关文章
- Sqoop将mysql数据导入hbase的血与泪
Sqoop将mysql数据导入hbase的血与泪(整整搞了大半天) 版权声明:本文为yunshuxueyuan原创文章.如需转载请标明出处: https://my.oschina.net/yunsh ...
- 使用sqoop把mysql数据导入hive
使用sqoop把mysql数据导入hive export HADOOP_COMMON_HOME=/hadoop export HADOOP_MAPRED_HOME=/hadoop cp /hive ...
- MySQL数据导入导出方法与工具mysqlimport
MySQL数据导入导出方法与工具mysqlimport<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office ...
- 使用MapReduce将mysql数据导入HDFS
package com.zhen.mysqlToHDFS; import java.io.DataInput; import java.io.DataOutput; import java.io.IO ...
- 使用 sqoop 将mysql数据导入到hive表(import)
Sqoop将mysql数据导入到hive表中 先在mysql创建表 CREATE TABLE `sqoop_test` ( `id` ) DEFAULT NULL, `name` varchar() ...
- 使用 sqoop 将mysql数据导入到hdfs(import)
Sqoop 将mysql 数据导入到hdfs(import) 1.创建mysql表 CREATE TABLE `sqoop_test` ( `id` ) DEFAULT NULL, `name` va ...
- Logstash:把MySQL数据导入到Elasticsearch中
Logstash:把MySQL数据导入到Elasticsearch中 前提条件 需要安装好Elasticsearch及Kibana. MySQL安装 根据不同的操作系统我们分别对MySQL进行安装.我 ...
- 使用sqoop将mysql数据导入到hive中
首先准备工具环境:hadoop2.7+mysql5.7+sqoop1.4+hive3.1 准备一张数据库表: 接下来就可以操作了... 一.将MySQL数据导入到hdfs 首先我测试将zhaopin表 ...
- Logstash学习之路(四)使用Logstash将mysql数据导入elasticsearch(单表同步、多表同步、全量同步、增量同步)
一.使用Logstash将mysql数据导入elasticsearch 1.在mysql中准备数据: mysql> show tables; +----------------+ | Table ...
随机推荐
- maven打包到私服,打的是war包,好郁闷
jenkins打完包上传到私服以后,发现只有war包,然而并木有别人想要的jar包,郁闷之极啊! 然后把公司的项目做了对比,发现这个正常的能上传jar包的项目的与我的另一个项目有点出入: 正常: 异 ...
- ActiveMQ -5.9和jms-1.1源码下载
ActiveMQ-5.9和jms-1.1源码下载:见附件
- 1114 Family Property
This time, you are supposed to help us collect the data for family-owned property. Given each person ...
- 视图,sql注入问题,事物,存储过程
视图:本质是一张虚拟的表数据来自select语句用途是保障原表安全 功能1:隐藏部分数据,开放指定数据功能2:因为视图可以将查询结果保存的特性,我们可以用视图来达到减少书写sql语句的功能 例如:se ...
- eclipse中ctrl+K失效
从昨天开始eclipse中Ctrl+d和Ctrl+K就失效了,简直无法忍受 解决方案: Window --> preferences --> General --> keys
- Anroid 手机助手 详细解析 概述(二)
这篇主要说一下手机插入之后的一些动作. 1) 捕获窗口消息 插入拔出一个USB设备windows 会给所有的窗口发送特定的消息,只要我们捕获这些消息就可以处理设备插入和拔出.需要注意的是插入或者拔出 ...
- mysql命令行客户端结果分页浏览
转载请注明出处:http://xiezhenye.com/2008/06/mysql%e5%91%bd%e4%bb%a4%e8%a1%8c%e5%ae%a2%e6%88%b7%e7%ab%af%e7% ...
- 第一章 在.net mvc生成EF入门
一. 打开Visual Studio 2017(我使用的是2017) 新建一个mvc项目 命名为StudentEntity 二.1)建立完项目后在项目中右击选择新建项,找到ADO.NET实体数据模型 ...
- 【javascript】原生js更改css样式的两种方式
下面我给大家介绍的是原生js更改CSS样式的两种方式: 1通过在javascript代码中的node.style.cssText="css表达式1:css表达式2:css表达式3 &quo ...
- Flask系列04--Flask的蓝图
flask蓝图 一.蓝图 蓝图(Blueprint),类似于实现django中路由分发那种感觉, 可以把Blueprint理解为不能被run的Flask对象 Blueprint实例化时需要的参数 基本 ...