@Override public void emit(final OK key, final OV value) { this.reduceQueue.add(new KeyValue<>(key, value)); }
@Override public Integer generateFinalResult(final Iterator<KeyValue<NullObject, Integer>> keyValues) { return keyValues.next().getValue(); }
@Override public List<Integer> generateFinalResult(final Iterator<KeyValue<Integer, Integer>> keyValues) { final List<Integer> list = new ArrayList<>(); keyValues.forEachRemaining(nameLength -> list.add(nameLength.getKey())); return list; } }
public String toString() { if (this.key instanceof MapReduce.NullObject && this.value instanceof MapReduce.NullObject) { return EMPTY_STRING; } else if (this.key instanceof MapReduce.NullObject) { return makeString(this.value); } else if (this.value instanceof MapReduce.NullObject) { return makeString(this.key); } else { return makeString(this.key) + TAB + makeString(this.value); } }
@Override public Integer generateFinalResult(final Iterator<KeyValue<NullObject, Integer>> keyValues) { return keyValues.next().getValue(); }
@Override public List<Integer> generateFinalResult(final Iterator<KeyValue<Integer, Integer>> keyValues) { final List<Integer> list = new ArrayList<>(); keyValues.forEachRemaining(nameLength -> list.add(nameLength.getKey())); return list; } }
public String toString() { if (this.key instanceof MapReduce.NullObject && this.value instanceof MapReduce.NullObject) { return EMPTY_STRING; } else if (this.key instanceof MapReduce.NullObject) { return makeString(this.value); } else if (this.value instanceof MapReduce.NullObject) { return makeString(this.key); } else { return makeString(this.key) + TAB + makeString(this.value); } }
@Override public void emit(final OK key, final OV value) { this.reduceQueue.add(new KeyValue<>(key, value)); }
@Override public Integer generateFinalResult(Iterator<KeyValue<Integer, Integer>> keyValues) { return keyValues.next().getValue(); }
@Override public List<Integer> generateFinalResult(final Iterator<KeyValue<Integer, Integer>> keyValues) { final List<Integer> list = new ArrayList<>(); keyValues.forEachRemaining(nameLength -> list.add(nameLength.getKey())); return list; } }
@Override public void emit(K key, V value) { if (this.doReduce) this.reduceMap.computeIfAbsent(key, k -> new ConcurrentLinkedQueue<>()).add(value); else this.mapQueue.add(new KeyValue<>(key, value)); }
@Override public Integer generateFinalResult(Iterator<KeyValue<NullObject, Integer>> keyValues) { return keyValues.next().getValue(); }
@Override public List<Integer> generateFinalResult(final Iterator<KeyValue<Integer, Integer>> keyValues) { final List<Integer> list = new ArrayList<>(); keyValues.forEachRemaining(nameLength -> list.add(nameLength.getKey())); return list; } }
@Override public void emit(K key, V value) { if (this.doReduce) this.reduceMap.computeIfAbsent(key, k -> new ConcurrentLinkedQueue<>()).add(value); else this.mapQueue.add(new KeyValue<>(key, value)); }
@Override public Integer generateFinalResult(final Iterator<KeyValue<NullObject, Integer>> keyValues) { assertEquals(3, keyValues.next().getValue().intValue()); return 3; }