Извлекать данные из MongoDB с помощью Sqoop для записи в HDFS?

#mongodb #hadoop #hdfs #sqoop #nosql

#mongodb #hadoop #hdfs #sqoop #nosql

Вопрос:

Я беспокоюсь об извлечении данных из MongoDB, где мое приложение обрабатывает большую часть данных из MongoDB.

Я работал над sqoop для извлечения данных и обнаружил, что СУБД подключается к HDFS через sqoop. Однако не найдено четкого направления для извлечения данных из базы данных NoSQL с помощью sqoop, чтобы сбросить их через HDFS для обработки большого объема данных? Пожалуйста, поделитесь своими предложениями и исследованиями.

Я извлек статическую информацию и транзакции данных из MySQL. Просто использовал sqoop для хранения данных в HDFS и обрабатывал данные. Теперь у меня есть несколько текущих транзакций по 1 миллиону уникальных идентификаторов электронной почты в день, данные которых моделируются в MongoDB. Мне нужно переместить данные из MongoDB в HDFS для обработки / ETL. Как я могу достичь этой цели с помощью Sqoop. Я знаю, что могу запланировать свою задачу, но каким должен быть наилучший подход для извлечения данных из MongoDB через sqoop.

Рассмотрим кластер 5DN размером 2 ТБ. Размер данных варьируется от 1 ГБ до 2 ГБ в часы пик.

Комментарии:

1. Ваш вопрос уже настолько общий. Добавление Mongodb / Cassandra сделает его больше. Добавьте такие детали, как образцы данных, объем данных, информация о кластере.

2. Я не могу поделиться данными, однако я могу рассказать вам о размерах с точки зрения моделирования данных

3. Людям не нужны ваши данные. людям нужна информация, чтобы понять использование.

4. lol, конечно 🙂 . Рассмотрим 5 измерений — город, имя человека, географические точки (широта / долгота), appvitals, emailID 2 меры: агрегирование данных по числам, среднее значение жизненных показателей человека, количество уникальных идентификаторов электронной почты: 10M. Информация о кластере: 5DN, MongoDB: пока содержит количество элементов.

5. вы не поняли мою точку зрения. Мне не нужна информация о столбцах. Я просто хочу поделиться вашей базой данных. Например: это какие-то данные транзакции? Вам нужно ежедневно перемещать данные из mongodb в hdfs или это одноразовое действие. Что вы подразумеваете под большим объемом данных — GBs, TBs или более? Ответ не может быть общим для всех баз данных NoSQL. Вы ударили MongoDB / Cassandra в своем названии. Надеюсь, вы поняли мою точку зрения

Ответ №1:

Sqoop применяется для импорта данных только из реляционных баз данных. Существуют и другие способы получения данных из mongo в Hadoop.

например: https://docs.mongodb.com/ecosystem/tools/hadoop /

Или же вы можете использовать любые инструменты управления потоками данных, такие как Nifi или Streamsets, и получать данные из mongo в режиме реального времени.