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 ...
随机推荐
- ext中对json数据的处理解析
看贴:http://blog.csdn.net/xieshengjun2009/article/details/5959687
- VSCode 设置侧边栏字体大小;Visual Studio Code改变侧边栏大小
1.代码改写,进入默认安装的如下路径 C:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out ...
- 移植UC15 3G模块
https://blog.csdn.net/jack_a8/article/details/43114083 https://wenku.baidu.com/view/7ea5c9cd52d380eb ...
- js 匿名函数 用法
JS执行顺序为从上到下 先声明存储匿名函数的变量放在JS文件中 <script src="/Scripts/niming.js" type="text/javasc ...
- 20145232 韩文浩 《Java程序设计》第9周学习总结
教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛型和自定义枚举 会使用标准注解 JDBC标准主要分为两个部分:JDBC应用程序开发者接口和 ...
- 敏捷项目管理工具-Trello(电子看板)
Trello简介(https://www.trello.com) A Trello board is a list of lists, filled with cards, used by you a ...
- tlink平台数据转发 c# 控制台程序
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...
- java注解学习(1)注解的作用和三个常用java内置注解
今天,记录一下自己学习的关于注解方面的知识. Annotation是从JDK5.0开始引入的新技术 Annotation的作用: -不是程序本身,可以对程序做出解释(这一点和注释没什么区别) -可以被 ...
- 第87讲:scala中使用For表达式做查询
今天我们来学习下如何用for表达式在scala中做查询. 先来看看示例代码 case class Book(title:String,authors:List[String]) object text ...
- 状态 ajax
//html部分 <a href="#" data-status="{$vo.state}" data-urid="{$vo.id}" ...