在<Text>reduce函数的参数中将HashSet作为可迭代对象传递<Text> - HADOOP



我有一个HashMap,我想通过重载run方法将其值传递给hadoop中的reduce函数。reduce函数接受Iterable。有办法做到吗?谢谢你的帮助。

HashSet(如post title)已经是可迭代的。把它传过去。

如果你使用的是地图,就像你的文章正文所说的,你可以传递任何合适的:

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

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

大多数集合类型实现Iterable,如ListSetVector等。但不是Map的实现

最新更新