使用Hadoop的Wikipedia页面协同编辑图形提取
我正在尝试使用hadoop构建维基百科共同编辑页面的图表。原始数据包含编辑列表,即每个编辑有一行,告诉谁编辑了什么:使用Hadoop的Wikipedia页面协同编辑图形提取,hadoop,mapreduce,wikipedia,Hadoop,Mapreduce,Wikipedia,我正在尝试使用hadoop构建维基百科共同编辑页面的图表。原始数据包含编辑列表,即每个编辑有一行,告诉谁编辑了什么: # revisionId pageId userId 1 1 10 2 1 11 3 2 10 4 3 10 5 4 11 我想提取一个图,其中每个节点都是一个页面,如果至少有一个编辑器编辑了两个页面(同一个编辑器),那么两个页面之间就有一个链接。对于上述示例,输出为: # edges: pageId1,pageId2 1,2 1,3 1,4 2,3 我远不是Map/Redu
# revisionId pageId userId
1 1 10
2 1 11
3 2 10
4 3 10
5 4 11
我想提取一个图,其中每个节点都是一个页面,如果至少有一个编辑器编辑了两个页面(同一个编辑器),那么两个页面之间就有一个链接。对于上述示例,输出为:
# edges: pageId1,pageId2
1,2
1,3
1,4
2,3
我远不是Map/Reduce方面的专家,但我认为这必须通过两项工作来完成:
# userId pageId1,pageId2,...
10 1,2,3
11 1,4
# pageId1,pageID2 weight
1,2 1
1,3 1
1,4 1
2,3 1
作为一个侧节点,只需少量的编辑样本,即可正常运行。它只会随着GB数据的增长而变慢。显然,这是一个常见的问题,称为组合/互相关/共现,使用Map/Reduce、Pairs或stripe有两种模式可以解决它:
- (互相关部分)