Можно ли читать данные MongoDB, обрабатывать их с помощью Hadoop и выводить в RDBS (MySQL)?

Резюме:

Можно ли:

  1. Импортировать данные в Hadoop с помощью «MongoDB Connector for Hadoop».
  2. Обработайте его с помощью Hadoop MapReduce.
  3. Экспортируйте его с помощью Sqoop за одну транзакцию.

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

Моя проблема заключается в том, что я хочу прочитать большую коллекцию MongoDB для анализа данных, но размер коллекции означает, что аналитическое задание займет слишком много времени для обработки. К сожалению, встроенная в MongoDB структура сокращения карт не подходит для этой работы, поэтому я бы предпочел провести анализ с помощью Apache Hadoop.

Я понимаю, что можно считывать данные из MongoDB в Hadoop с помощью «Коннектора MongoDB для Hadoop», который считывает данные из MongoDB, обрабатывает их с помощью MapReduce в Hadoop и, наконец, выводит результаты обратно в базу данных MongoDB.

Проблема в том, что я хочу, чтобы выходные данные MapReduce отправлялись в базу данных MySQL, а не в MongoDB, потому что результаты должны быть объединены с другими таблицами MySQL.

Для этой цели я знаю, что Sqoop может экспортировать результат Hadoop MapReduce в MySQL.

В конечном счете, я хочу также прочитать данные MongoDB, затем обработать их с помощью Hadoop и, наконец, вывести результат в базу данных MySQL.

Возможно ли это? Какие инструменты доступны для этого?

7
задан Sergey Brunov 24 December 2015 в 22:12
поделиться