данные из нескольких таблиц mysql в hadoop map-Reduce - PullRequest
1 голос
/ 02 марта 2012

У нас есть следующий сценарий:

У нас есть цепочка map-reduce processes, реализованная в java. В настоящее время мы читаем данные из таблицы mysql и сохраняем вывод в другую mysql table. Теперь нам могут потребоваться данные из другой таблицы в качестве входных данных для отображения / сокращения процесса.

Возможные решения:

a) Либо у нас может быть запрос на соединение для ввода в процесс отображения, либо

b) мы можем прочитать необходимые данные, сделав простой jdbc connection и запрашивая данные снова и снова (хотя я не предпочитаю это).

Вопросы:

Каковы лучшие практики в таком сценарии? Мы можем перейти к mongoDB в будущем. Какова будет лучшая практика в этом сценарии?

Ответы [ 2 ]

0 голосов
/ 28 августа 2012

Я думаю, что это пока невозможно.

0 голосов
/ 02 марта 2012

SQOOP и HIVE .

. Вы можете использовать SQOOP для передачи данных из таблицы MySQL в HDFS, а затем в HIVE .Из HIVE (после операций) вы можете экспортировать таблицы обратно в Mysql.

Пример:

  • Прежде всего загрузите mysql-connector-java-5.0.8 и поместите jar в папку lib и bin Sqoop
  • Создайте определение таблицы в Hive с точными именами и типами полей, как в mysql

sqoop import -verbose --fields-terminated-by ',' --connect jdbc: mysql: // localhost / test - работник таблицы --hive-import --warehouse-dir / user / hive / warehouse --fields-terminated-by',' --split-by id - работник таблицы

Следуйте по этой ссылке Ссылка для справки

...