如何像调度程序一样将大数据从 MongoDB 导入 SQL Server

Posted

技术标签:

【中文标题】如何像调度程序一样将大数据从 MongoDB 导入 SQL Server【英文标题】:How can import Large data from MongoDB to SQL Server Like Schedulers 【发布时间】:2014-05-14 06:38:19 【问题描述】:

我们有每天收集大量数据的应用程序。所以写操作更多,因此我的服务器变慢了。所以我们计划使用MongoDB来收集数据,通过使用调度器将数据导入SQL。

所以我的问题是如何将大量数据从 MongoDB 导入 SQL

请有任何建议。像任何工具等。

【问题讨论】:

【参考方案1】:

我不知道任何工具,但如果你用谷歌搜索它们,我相信它们存在。

如果是我,我可能会在没有先验知识的情况下将数据导出到平面文件 (.csv) 并创建存储过程或 SSIS 包以将数据导入 SQL。

Python 可能是我的选择,可以在一夜之间自动分块导出,SQL 可以处理导入和清理。

mongoexport --host yourhost --db yourdb --collection yourcollection --csv --out yourfile.csv --fields field1,field2,field3

通过这种方式,您可以在结构到达 SSIS 包之前对其进行定义。

另一种方式

这是进行所有集合的一个很好的例子。这是来自另一个answer。

 out = `mongo  #DB_HOST/#DB_NAME --eval "printjson(db.getCollectionNames())"`

  collections = out.scan(/\".+\"/).map  |s| s.gsub('"', '') 

  collections.each do |collection|
    system "mongoexport --db #DB_NAME  --collection #collection  --host '#DB_HOST' --out #collection_dump"
  end

【讨论】:

【参考方案2】:

我们为此创建了MongoSluice。

我们的应用程序询问一个 MongoDB 集合并创建一个完整、深入的模式。然后它将数据和元数据流式传输到任何 RDBMS 系统(Oracle、mysql、Postgres、HP Vertica...)。

您最终得到的是将您的 NoSQL 表示为 SQL。一个很大的用例是将非结构化数据输入分析数据库。 BI 平台,尤其是。

【讨论】:

欢迎来到 Stack Overflow!通常,链接到工具或库should be accompanied by usage notes or some sample code,或者如果可能的话两者都链接。【参考方案3】:

您可以将服务器链接到 mongodb,这样您就可以查询任何您想要的内容。 当然在此之前你必须安装到 MongoDB 所需的驱动程序

EXEC sp_addlinkedserver @server='MongoDB',
@srvproduct='CData.Mongo DB.ODBC.Driver',
@provider='SQLNCLI10',
@datasrc='<Machine IP address>,1434',
@provstr='Network Library=DBMSSOCN;',
@catalog='CDataMongoDB';

【讨论】:

以上是关于如何像调度程序一样将大数据从 MongoDB 导入 SQL Server的主要内容,如果未能解决你的问题,请参考以下文章

如何将数据从mongodb导入hive

如何使用mongo-connector将数据从mongodb导入到apache solr

1200万 mysql数据怎么快速导入到Mongodb

如何在 Node.js 中使用 mongoose 将大数组保存到 MongoDB

如何从 sql server 将数据导入 mongodb?

如何将数据从 mongodb 导入到 pandas?