Подтвердить что ты не робот

Карта Hadoop/Уменьшение или встроенная карта/Уменьшение

Каковы ключевые отличия в том, как делать карту/уменьшать работу на MongoDB, используя карту Hadoop/уменьшить или встроенную карту/уменьшить Mongo?

Когда я выбираю, какую карту/уменьшить двигатель? каковы преимущества и недостатки каждого движка для работы с данными, хранящимися в mongodb?

4b9b3361

Ответ 1

Мой ответ основан на знаниях и опыте Hadoop MR и изучении Mongo DB MR. Посмотрим, какие основные отличия, а затем попытайтесь определить критерии для выбора: Различия:

  • Hadoop MR может быть написан на Java, а MongoDB - в JavaScript.
  • Hadoop MR способен использовать все ядра, в то время как MongoDB является однопоточным.
  • Hadoop MR не будет совмещаться с данными, в то время как Mongo DB будет размещаться.
  • Hadoop MR имеет миллионы двигателей/часов и может справиться со многими угловыми корпусами с массивным размером вывода, перекосами данных и т.д.
  • Существуют более высокоуровневые структуры, такие как Pig, Hive, Cascading, построенные на основе механизма Hadoop MR.
  • Hadoop MR является основным и доступна поддержка сообщества.

Из вышеизложенного я могу предложить следующие критерии отбора:
Выберите Mongo DB MR, если вам нужна простая группа и фильтрация, не ожидайте тяжелой перетасовки между картой и уменьшите ее. Другими словами - что-то простое.

Выберите hadoop MR, если вы собираетесь выполнять сложные, вычислительно интенсивные задания MR (например, некоторые вычисления регрессий). Наличие большого или непредсказуемого размера данных между картой и уменьшением также предполагает Hadoop MR.

Java - это более сильный язык с большим количеством библиотек, особенно статистический. Это следует учитывать.

Ответ 2

По состоянию на MongoDB 2.4 Работы MapReduce больше не однопоточные.

Кроме того, см. Aggregation Framework для более высокопроизводительного декларативного способа выполнения агрегатов и других аналитических рабочих нагрузок в MongoDB.

Ответ 3

У меня нет большого опыта работы с Hadoop MR, но у меня сложилось впечатление, что он работает только на HDFS, поэтому вам придется дублировать все ваши данные Mongo в HDFS. Если вы хотите дублировать все свои данные, я бы предположил, что Hadoop MR намного быстрее и надежнее, чем Mongo MR.

Ответ 4

Пункт 3, безусловно, неверен, когда речь заходит о Hadoop. Обработка colocation с данными является частью основания Hadoop.