简体   繁体   English

使用 Sqoop 从 MongoDB 中提取数据以写入 HDFS?

[英]Extract data from MongoDB with Sqoop to write on HDFS?

I am concerning about extracting data from MongoDB where my application transact most of the data from MongoDB.我担心从 MongoDB 中提取数据,其中我的应用程序处理来自 MongoDB 的大部分数据。

I have worked on sqoop to extract data and found RDBMS gel up with HDFS via sqoop.我曾使用 sqoop 提取数据,并发现 RDBMS 通过 sqoop 与 HDFS 结合在一起。 However, no clear direction found to extract data from NoSQL DB with sqoop to dump it over HDFS for big chunk of data processing?但是,没有发现使用 sqoop 从 NoSQL DB 中提取数据并将其转储到 HDFS 以进行大块数据处理的明确方向? Please share your suggestions and investigations.请分享您的建议和调查。

I have extracted static information and data transactions from MySQL.我已经从 MySQL 中提取了静态信息和数据事务。 Simply, used sqoop to store data in HDFS and processed the data.简单来说,就是使用sqoop将数据存储在HDFS中并进行处理。 Now, I have some live transactions of 1million unique emailIDs per day which data modelled into MongoDB.现在,我每天有 100 万个唯一 emailID 的实时交易,这些数据建模到 MongoDB 中。 I need to move data from mongoDB to HDFS for processing/ETL.我需要将数据从 mongoDB 移动到 HDFS 进行处理/ETL。 How can I achieve this goal using Sqoop.我如何使用 Sqoop 实现这一目标。 I know I can schedule my task but what should be the best approach to take out data from mongoDB via sqoop.我知道我可以安排我的任务,但是通过 sqoop 从 mongoDB 中取出数据的最佳方法应该是什么。

Consider 5DN cluster with 2TB size.考虑具有 2TB 大小的 5DN 集群。 Data size varies from 1GB ~ 2GB in peak hours.高峰时段数据大小从 1GB 到 2GB 不等。

Sqoop is applied to import data only from relational databases. Sqoop 仅用于从关系数据库导入数据。 There are other ways to get data from mongo to Hadoop.还有其他方法可以将数据从 mongo 获取到 Hadoop。

eg: https://docs.mongodb.com/ecosystem/tools/hadoop/例如: https : //docs.mongodb.com/ecosystem/tools/hadoop/

Or else you can use any data flow management tools like Nifi or Streamsets and get data from mongo in realtime.或者,您可以使用任何数据流管理工具,如 Nifi 或 Streamsets,并实时从 mongo 获取数据。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM