Ответ 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 - это более сильный язык с большим количеством библиотек, особенно статистический. Это следует учитывать.