VIn - input valueKOut - output keyVOut - output valuepublic interface RCollectionMapReduce<VIn,KOut,VOut> extends RMapReduceExecutor<VIn,KOut,VOut>
RSet, RList, RSetCache, RScoredSortedSet, RSortedSet and others
using Mapper, Reducer and/or Collator tasks launched across Redisson Nodes.
Usage example:
public class WordMapper implements RCollectionMapper<String, String, Integer> {
public void map(String value, RCollector<String, Integer> collector) {
String[] words = value.split("[^a-zA-Z]");
for (String word : words) {
collector.emit(word, 1);
}
}
}
public class WordReducer implements RReducer<String, Integer> {
public Integer reduce(String reducedKey, Iterator<Integer> iter) {
int sum = 0;
while (iter.hasNext()) {
Integer i = (Integer) iter.next();
sum += i;
}
return sum;
}
}
public class WordCollator implements RCollator<String, Integer, Integer> {
public Integer collate(Map<String, Integer> resultMap) {
int result = 0;
for (Integer count : resultMap.values()) {
result += count;
}
return result;
}
}
RList<String> list = redisson.getList("myWords");
Map<String, Integer> wordsCount = list.<String, Integer>mapReduce()
.mapper(new WordMapper())
.reducer(new WordReducer())
.execute();
Integer totalCount = list.<String, Integer>mapReduce()
.mapper(new WordMapper())
.reducer(new WordReducer())
.execute(new WordCollator());
| Modifier and Type | Method and Description |
|---|---|
RCollectionMapReduce<VIn,KOut,VOut> |
mapper(RCollectionMapper<VIn,KOut,VOut> mapper)
Setup Mapper object
|
RCollectionMapReduce<VIn,KOut,VOut> |
reducer(RReducer<KOut,VOut> reducer)
Setup Reducer object
|
RCollectionMapReduce<VIn,KOut,VOut> |
timeout(long timeout,
TimeUnit unit)
Defines timeout for MapReduce process
|
execute, execute, execute, executeAsync, executeAsync, executeAsyncRCollectionMapReduce<VIn,KOut,VOut> timeout(long timeout, TimeUnit unit)
timeout - for processunit - of timeoutRCollectionMapReduce<VIn,KOut,VOut> mapper(RCollectionMapper<VIn,KOut,VOut> mapper)
mapper - used during MapReduceCopyright © 2014–2018 The Redisson Project. All rights reserved.