В настоящее время я реализую PageRank на дискотеке. В качестве итерационного алгоритма результаты одной итерации используются в качестве входных данных для следующей итерации.
У меня есть большой файл, который представляет все ссылки, каждая строка представляет страницу, а значения в строке представляют страницы, на которые она ссылается.
Для Диско я разбиваю этот файл на N кусков, затем запускаю MapReduce для одного раунда. В результате я получаю набор (page, rank) кортежей.
Я бы хотел скормить этот ранг следующей итерации. Тем не менее, теперь моему мапперу нужны два входа: файл графика и постраничные ранги.
- Я бы хотел "застегнуть" вместе
файл графика и рейтинг страниц,
так, что каждая строка представляет
страница, это рейтинг, и это из ссылки.
- Поскольку этот графовый файл разделен на N кусков, мне нужно разделить вектор PageRank на N
параллельные порции и почтовые индексы
векторов PageRank на график
ломти
Все это кажется более сложным, чем необходимо, и, как довольно простая операция (с наиболее существенным алгоритмом mapreduce), мне кажется, что я упускаю что-то в Disco, что действительно может упростить подход.
Есть мысли?