目前正在Disco上實施PageRank。作爲迭代算法,一次迭代的結果被用作下一次迭代的輸入。迪斯科/ MapReduce:使用先前迭代的結果作爲新迭代的輸入
我有一個大文件,它代表所有的鏈接,每一行代表一個頁面,這些行中的值代表鏈接的頁面。
對於Disco,我將這個文件分成N個塊,然後運行MapReduce一輪。結果,我得到了一組(頁面,等級)元組。
我想喂這個等級到下一個迭代。但是,現在我的映射器需要兩個輸入:圖形文件和網頁排序。
- 我想「拉鍊」一起 圖形文件和網頁排名, 使得每一行代表一個 頁面,它的等級,它的出鏈接。
- 由於該圖形文件被分離成N個塊,我需要的的PageRank矢量分成N個 並行塊,並且壓縮的區域中的PageRank向量 到圖形 塊
這一切似乎更比必要的複雜,作爲一個非常簡單的操作(用典型的mapreduce算法),似乎我錯過了Disco的一些東西,可以真正簡化方法。
有什麼想法?