我正试图找到一种“循环”我的减速器的方法,例如:
for(String document: tempFrequencies.keySet())
{
if(list.get(0).equals(document))
{
testMap.put(key.toString(), DF.format(tfIDF));
}
}
//This allows me to create a hashmap which i plan to write out to context as Filename = key then all of the terms weights = value (a list I can parse out in the next job)
代码当前将贯穿整个reduce并给出我想要的list.get(0),但问题是一旦它完成了整个reduce我需要它再次为list.get(1)启动关于如何在完成后循环减少阶段的任何想法?
答案 0 :(得分:0)
嵌套for循环
for(int i = 0; i < number_of_time; i++){
//your code
}
用i替换0。
答案 1 :(得分:0)
您可以使用key-tag-value技术。 在mapper中,为列表值发出(键,0,值),为文档(键,1,值)(?)。在reducer中,值将按键和标记分组,并按标记为每个键排序。您应该编写自己的分组比较器(和自定义分区程序)。 PS我使用相同的技术进行图形处理。我可以在周末之后提供示例代码。