在reduce函数的参数中将HashSet <text>作为Iterable <text>传递 - HADOOP </text> </text>

时间:2014-06-11 10:37:12

标签: java hadoop

我有一个HashMap,我想通过overoloading run方法将其值传递给hadoop中的reduce函数。 reduce函数接受Iterable。有没有办法做到这一点?在此先感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

HashSet(如帖子标题中)已经可迭代。传递它。

如果您按照帖子正文所说的那样使用地图,则可以通过适当的方式:

yourMap.keySet(); // set of K
yourMap.valueSet(); // set of V
yourMap.entrySet(); //set of Map.Entry<K,V>

答案 1 :(得分:0)

不要担心传递它,正如@hexafraction所说,HashSet实现了Iterable

大多数集合类型都会实现IterableListSetVector。但不是Map实施。