0

我很困惑 pagerank 算法如何与 mapreduce 模型一起工作。

主要的困惑是,在第二阶段之后,val 是指向关键 URL 的链接(而不是外链接),那么它如何在下一次迭代中工作呢?

请参阅下面的示例:

txt:
A->B
A->C
B->A
C->B

     WORKER1              WORKER2
LOAD
      A->B                B->A  
      A->C                C->B
MAP
     (A,B)                (B,A)
     (A,C)                (C,B)
SHUFFLE AND DISTRIBUTE
     (A,[B,C])            (B,[A])
                          (C,[B])
REDUCE
     (A,(PR(A),[B,C],2))  (B,(PR(B),[A],1))
                          (C,(PR(C),[B],1))
MAP(PHASE2)
     (B,(PR(A)/2,2))      (A,(PR(B)/1,1))
     (C,(PR(A)/2,2))      (B,(PR(C)/1,1))
SHUFFLED AND DISTRIBUTE
     (A,[PR(B)/1])        (B,[PR(A)/2,PR(C)/1])
                          (C,[PR(A)/2])
RERUCE
     (A,(NEWPR(A),[B],2)) (B,(NEWPR(B),[A,C],1))
                          (C,(NEWPR(C),[A],1))

到目前为止,我丢失了外链信息,我的错误在哪里?

4

1 回答 1

2

您需要一个结构(node_id、page_rank、adjacency_list)来存储页面链接、PR 和邻接列表。

训练您的 MapReduce 思想的一本好书是Data-Intensive Text Processingwith MapReduce。在5.3 PAGERANK中有详细介绍如何在 MapReduce 中实现 PageRank。

于 2013-09-17T03:32:29.307 回答