Дискотека/MapReduce: Используя результаты предыдущего повторения, как введено к новому повторению

В настоящее время реализую PageRank на Дискотеке. Как итеративный алгоритм, результаты одного повторения используются в качестве входа к следующему повторению.

У меня есть большой файл, который представляет все ссылки с каждой строкой, представляющей страницу и значения в строке, представляющей страницы, с которыми она связывается.

Для Дискотеки я повреждаю этот файл в блоки N, затем выполняю MapReduce для одного раунда. В результате я получаю ряд (страница, разряд) кортежи.

Я хотел бы подать этот разряд к следующему повторению. Однако теперь моему картопостроителю нужны два исходных данных: файл графика и уровни PageRank.

  1. Я хотел бы "архивировать" вместе файл графика и разряды страницы, такие, что каждая строка представляет страницу, это - разряд, и это отсутствует ссылки.
  2. Так как этот файл графика разделен на блоки N, я должен разделить вектор PageRank на блоки параллели N и архивировать регионы векторов PageRank к блокам графика

Это все кажется более сложным, чем необходимый, и как довольно простая операция (с наиболее существенным mapreduce алгоритмом), кажется, что я пропускаю что-то о Дискотеке, которая могла действительно упростить подход.

Какие-либо мысли?

7
задан muckabout 2 April 2010 в 11:48
поделиться