我正在学习mapreduce。我想实现一个简单的最近邻搜索——复杂性o(n^2)。为此,我希望使用嵌套循环来迭代输入项。内部循环比较两个项目并写出它们之间的距离。
我想我需要做的是将输入拆分中的所有项传递到Map器中。我不知道怎么做。如果使用textinputformat,上下文的getcurrentvalue()方法将返回什么?所有输入文件中的所有行,还是其他什么?
nlineformat怎么样?拆分大小是否设置为n?
建议是受欢迎的。我还没准备好深入研究这方面的学术论文。
...
谢谢你的评论。以下是我的更新:
每个输入项都是标称值的特征向量。两个项目之间的距离只是具有不同值的对应字段的数量。
输出很简单:item#1#uid,item#2#uid,distance
我只是测试了500个项目的样本,所以它运行得很快。我不会在大型真实数据集上使用这种方法。在mapreduce中有一个近似最近邻匹配的幻灯片。如果我进一步研究这个项目,我可能会采用这种方法。
暂无答案!
目前还没有任何答案,快来回答吧!