2014-04-09 1 views
0

Когда мы выполняем обычное задание на число слов, для этого мы используем программу MapReduce. Это не последовательный. Но в случае программ, таких как кратчайший анализ пути больших графов, мы должны разработать «последовательную» работу MapReduce. В чем основное отличие или сходство между этими двумя подходами программирования MapReduce.В чем разница и сходство между Normal MapReduce Job и последовательным заданием MapReduce?

ответ

0

Как вы упомянули, что ваша задача wordcount не является последовательной, я полагаю, вы используете образец задания wordcount, где ключи (слова) делятся на фазу карты и обрабатывают (считать) в фазе уменьшения. Следовательно, задачи могут быть разделены на разные узлы и выполняться одновременно.

Предлагаю вам прочитать этот урок: https://developer.yahoo.com/hadoop/tutorial/module4.html Чтобы вы могли понять, что в зависимости от количества доступных узлов задачи распределяются даже на этапе карты!

Что касается вашей «последовательной» работы MapReduce. Я предполагаю, что вы имели в виду, что нет способа деления обработки для достижения желаемых результатов. Если это так, я подозреваю, что вы не добьетесь лучших результатов из Hadoop MapReduce, так как ваша фаза сокращения должна произойти в одном узле. Однако, если вы выполните быстрый поиск, я уверен, что вы сможете найти алгоритмы для обработки графа, такие как Dijkstra, предназначенные для MapReduce.

Cheers Marco