Python Disco/MapReduce:使用上一次迭代的结果作为新迭代的输入
目前我正在迪斯科舞厅实施PageRank。作为一种迭代算法,一次迭代的结果被用作下一次迭代的输入 我有一个大文件,它表示所有链接,每一行表示一个页面,行中的值表示它链接到的页面 对于Disco,我将这个文件分成N个块,然后运行MapReduce一轮。结果,我得到了一组(页面、排名)元组 我想把这个排名反馈给下一次迭代。但是,现在我的映射器需要两个输入:图形文件和pageranksPython Disco/MapReduce:使用上一次迭代的结果作为新迭代的输入,python,mapreduce,disco,Python,Mapreduce,Disco,目前我正在迪斯科舞厅实施PageRank。作为一种迭代算法,一次迭代的结果被用作下一次迭代的输入 我有一个大文件,它表示所有链接,每一行表示一个页面,行中的值表示它链接到的页面 对于Disco,我将这个文件分成N个块,然后运行MapReduce一轮。结果,我得到了一组(页面、排名)元组 我想把这个排名反馈给下一次迭代。但是,现在我的映射器需要两个输入:图形文件和pageranks 我想一起“拉拉链” 图形文件和页面排名, 使每一行代表一个 页面,它的排名,它的链接 因为这个图形文件被分成N个块,
有什么想法吗?看起来您希望在第一次迭代中使用初始映射,然后在后续每次迭代中使用iter映射 见: 您能否输出包含大纲链接的python对象,而不仅仅是(页面、排名)元组 另一种选择是让页面在某个地方(dict、memcache、kyotocainet等)键入大纲链接,然后从映射函数中查找它们。如果你在用DISCO链接东西,我想你不想在工作流中间把东西拉在一起。